带有构面和相同条形尺寸(宽度)的条形图,可选择缩小面板大小

时间:2018-02-24 10:42:53

标签: r ggplot2

我想使用条形图以类似方面的方式比较数据,但缺少数据会导致条形“宽度”不同:

enter image description here

我怎么能

  1. 确保相同的条形尺寸(“宽度”)和
  2. [很高兴]将每个面的面板尺寸缩小到真正需要的尺寸?
  3. PS:我不想将空数据显示为“零条”,以免浪费空间。

    library(ggplot2)
    data <- data.frame(product = c("Fish", "Chips", "Baguette"),
                       store = c("London", "London", "Paris"),
                       customer.satisfaction = c(0.9, 0.95, 0.8),
                       stringsAsFactors = TRUE)
    data
    
    ggplot(data, aes(x = product, y = customer.satisfaction)) +
    geom_bar(stat = "identity", width = 0.9) +
    coord_flip() +
    facet_wrap( ~ store, ncol = 1, scales = "free_y")
    

1 个答案:

答案 0 :(得分:4)

使用分面网格的方法也许会令人满意:

ggplot(df, aes(x = product, y = customer.satisfaction)) +
  geom_bar(stat = "identity", width = 0.9) +
  coord_flip() +
  facet_grid(store ~., scales = "free", space = "free")

enter image description here