在barplot ggplot2中个性化每个面上的填充颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在barplot ggplot2中个性化每个面上的填充颜色相关的知识,希望对你有一定的参考价值。

我想在一个方面制作一个情节。

enter image description here

library(ggplot2)
library(dplyr)

mtcars0 = mtcars %>% group_by(cyl) %>% mutate(MeanMpg = round(mean(mpg), 2))

p <- ggplot(mtcars0, aes(mpg, wt)) + 
  geom_bar(stat = "identity", width = 2) + 
  facet_grid(~ cyl ~. ) + 
  geom_text(aes(mpg, wt, label = MeanMpg), size = 4, x = 15, y = 5)

问题是当我尝试根据每个方面(1个方面1色)个性化色条。

p <- ggplot(mtcars0, aes(mpg, wt, fill = cyl)) + 
  geom_bar(stat = "identity", width = 2) + 
  facet_grid(~ cyl ~. ) + 
  geom_text(aes(mpg, wt, label = MeanMpg), size = 4, x = 15, y = 5) +
  scale_fill_manual(values = c("royalblue", "orange", "orangered"))
p

我怎么能填满我的酒吧?

答案

您需要使用factor类而不是double类填充条形。您可以将cyl列转换为具有as.factor()函数的因子:

p <- ggplot(mtcars0, aes(mpg, wt, fill = as.factor(cyl))) + 
  geom_bar(stat = "identity", width = 2) + 
  facet_grid(~ cyl ~. ) + 
  geom_text(aes(mpg, wt, label = MeanMpg), size = 4, x = 15, y = 5) +
  scale_fill_manual(values = c("royalblue", "orange", "orangered"))
p

enter image description here

以上是关于在barplot ggplot2中个性化每个面上的填充颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改 ggplot2 barplot 中闪避条的顺序

R语言ggplot2可视化:计算dataframe中每个数据列缺失值的个数使用堆叠的条形图(Stacked Barplot)可视化每个数据列的缺失值的情况(设置坐标轴为百分比以显示缺失值的比例)

R语言ggplot2可视化:使用堆叠的条形图(Stacked Barplot)可视化每个数据行(row)的缺失值的情况(Visualizing missing data counts in rows)

ggplot2 (Barplot + LinePlot) - 双 Y 轴

R语言ggplot2可视化创建堆叠的柱状图(stacked barplot)并且每个堆叠的柱状图都缩放到总和为100%实战:最后所有的堆叠的柱子都一样高Y轴以百分比的形式来显示

R可视化ggplot2绘制堆叠的条形图(Stacked Barplot)