绘制带有分面换行的条形图

Posted

技术标签:

【中文标题】绘制带有分面换行的条形图【英文标题】:Plot bar chart with facet wrap 【发布时间】:2022-01-10 07:31:48 【问题描述】:

我对 R 非常陌生,并且在使用 facet_wrap 绘制 geom_bar 时遇到了困难。我需要手动向图表添加颜色,但我做不到。我只能添加“填充=百分比”才能添加颜色,但它从低到高缩放,我不想这样做。我想手动设置两种颜色 图表上的“#554F66”、“#C2D1A4”。该图表只有 2 个代表 2 年的列。 我也尝试使用 scale_fill_manual 和 scale_color_manual 但它不起作用。 :(

下面是我的代码,你能帮忙吗?谢谢你,非常感谢

ggplot(newdata2,aes(x=as.factor(CODE), y=percentage)) +
  geom_bar(stat = "identity", fill = "#554F66")+
  facet_wrap(~variable) +
  theme_bw() +
  xlab("")

【问题讨论】:

【参考方案1】:

如果您可以发布一个可重现的示例,并使用与您的数据集相似的数据集,这将非常有帮助,以帮助我们了解究竟是什么问题。

查看下面的一些代码可能会对您有所帮助:

ggplot(newdata2,aes(x=as.factor(CODE), y=percentage, fill = percentage)) +
  geom_bar(stat = "identity")+
  facet_wrap(~variable) +
  scale_fill_manual(values = c("#554F66", "#C2D1A4")) +
  theme_bw() +
  xlab("")

确保在使用填充美学时使用scale_fill_manual()

【讨论】:

它给了我一个错误:连续值提供给离散刻度 您的“百分比”列中有哪些数据?你可以尝试这样的事情:ggplot(newdata2 %>% mutate(percentage = as.factor(percentage), aes(x=as.factor(CODE), y=percentage, fill = percentage)) 为你的第一行。

以上是关于绘制带有分面换行的条形图的主要内容,如果未能解决你的问题,请参考以下文章

如何根据分面包装中的 2 个组中的 1 个对条形图进行排序?

R绘制排序的条形图(Ordered Bar Chart)

使用带有两个不同 JSON 端点的 Highcharts 向下钻取绘制条形图

根据ggplot2中最后一个分面网格的递减值对条形图的Y轴进行排序

Pandas:如何绘制带有标签的数据框的条形图?

Python制作带有辅助y轴的组合条形图和线图