首页 > 解决方案 > 创建一个分组条形图,每个类别只有一个填充

问题描述

我正在尝试制作带有刻面的分组条形图,但我不知道如何不按年制作分组,fill=year因为我希望填充基于类别但该组仍然显示频率梨年。另一个问题是方面的因素,并space = "free"没有像我预期的那样工作。

Category = c("Dog", "Cat", "Mouse", "Dog", "Cat", "Mouse", "Dog", "Cat", "Mouse")
Year = c("2019", "2019", "2019", "2018", "2018", "2018", "2017", "2017", "2017")
Severity = c("Hunter", "Hunter", "Prey", "Hunter", "Hunter", "Prey", "Hunter", "Hunter", "Prey")
Frequency = rpois(9, 30)
EXP = data.frame(Category, Year, Frequency, Severity)

ggplot(data=EXP, aes(x=Category, y=Frequency, fill=Year))+ theme_whitenb() + 
  geom_bar(stat="identity", position=position_dodge())  + theme(legend.title = element_blank()) + labs(y = "", x="") + facet_grid(rows = vars(Severity), space = "free")  +
  scale_fill_hue(c=75, l=70) + theme(axis.ticks = element_blank(),panel.grid.major = element_blank(),
                                     panel.grid.minor = element_blank())  +
  theme(
    strip.background = element_rect(
      fill="#0B0B7A"), strip.text.y = element_text(
        color = "white", face = "bold"
      )
  ) + coord_flip()

预期: *即使 0 频率,老鼠也不在猎人中 *即使 0 频率,猫和狗也不在猎物中 *狗、猫、老鼠有各自的颜色,但不是每年。

编辑:先生。逸夫有我需要的答案!谢谢顺便说一句。我只需要找到一种方法来删除面板中频率为 0 的因素。

标签: rggplot2bar-chart

解决方案


这能捕捉到你想要的吗?如果不是,您能否描述一下您希望将哪些美学(即 x、y、填充、刻面)映射到哪些变量?

在此处输入图像描述


推荐阅读