23  W

23.1 geom_waffle

Package

#install.packages("remotes")
#remotes::install_github("hrbrmstr/waffle")

waffle (Rudis and Gandy 2023)

Description

Create waffle plots. A waffle chart can be used as an alternative to pie charts or bar charts to display the composition of a sample. It divides the plotting area into a grid of small squares, making proportions easier to compare and count at a glance.

Understandable aesthetics

required aesthetics

fill (so the geom knows which column to map the fills to)

values (which column you’re mapping the filling for the squares with)

optional aesthetics

alpha, colour, group, linetype, linewidth

See also

geom_bar, geom_col

Example

library(waffle)
worldbankdata |>
  filter(Region == "East Asia & Pacific" | Region == "Europe & Central Asia") |>
  select(Region, Income, Year) |>
  group_by(Region, Income) |>
  tally() |>
  ggplot(aes(fill=Income, values=n)) +
  geom_waffle(aes(colour = income),color="white",
              n_rows = 4, size = 0.3, make_proportional = TRUE,
              height = 0.9, width = 0.9) +
  scale_fill_manual(values = c("#d95f02","#1b9e77","#7570b3","#e7298a"))+
  facet_wrap(~Region, ncol=1) +
  scale_x_discrete(expand=c(0,0)) +
  scale_y_discrete(expand=c(0,0)) +
  coord_equal()+
  theme(legend.position = "bottom")

23.2 geom_weave

Package

ggdist(ggdist?)

Description

Creates dot-weave plot. This ensures the plot fits within the available space.

Understandable aesthetics

required aesthetics

x

y

optional aesthetics

alpha, colour, group, size, slab_alpha

See also

geom_dotinterval, geom_point, geom_jitter

Example

library(ggdist)
p1 <- worldbankdata |>
  ggplot(aes(y = Electricity, x = Income)) +
  geom_weave(color="black") + ggtitle("Without  scale_y_binned")
p2 <- worldbankdata |>
  ggplot(aes(y = Electricity, x = Income)) +
  geom_weave(color="black") + 
  scale_y_binned(n.breaks = 10) + ggtitle("With scale_y_binned")
p1|p2
Warning: Removed 5693 rows containing missing values or values outside the scale range
(`geom_dotsinterval()`).
Removed 5693 rows containing missing values or values outside the scale range
(`geom_dotsinterval()`).

23.3

Rudis, Bob, and Dave Gandy. 2023. Waffle: Create Waffle Chart Visualizations.