ggplot2 改变 geom_col 的填充颜色(非常非常初学者)

Posted

技术标签:

【中文标题】ggplot2 改变 geom_col 的填充颜色(非常非常初学者)【英文标题】:ggplot2 changing fill colors of geom_col (very, very beginner) 【发布时间】:2021-11-09 03:47:33 【问题描述】:

我是新的 R Studio 用户(我只使用了几个月)。我喜欢它! 我得到了这张表,我正在比较两个诗人的词汇。我希望它们每个都有不同的颜色。我试图改变价值观,但没有运气。这是我的代码和结果。你能给我一个提示,我该如何改进它?提前谢谢!!!

# 50 sustantivos más frecuentes
Poemas_Analizado %>%
 group_by(poeta) %>%
 filter(upos == "NOUN") %>%
 count(lema, sort = T) %>%
 mutate(lema = reorder(lema, n)) %>%
 top_n(50) %>%
 ggplot(aes(reorder(lema, n),n)) +
   geom_col(fill = "greenyellow") +
   coord_flip() +
   facet_wrap(~poeta, scales = "free_y")

【问题讨论】:

您好,欢迎来到 Stack Overflow!如果没有您正在使用的数据子集,通常很难回答问题,以便其他人可以尝试自己生成图表并测试他们的解决方案。提供像dput(head(Poemas_Analizado, 20)) 这样的输出可能会给我们足够的数据来处理。有关如何提供良好示例的更多详细信息,请参阅mcve。 请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example。 很高兴它为您解决了问题。向其他人表明它解决了您的问题的最佳方式是将答案标记为正确(使用绿色复选标记),如果您认为该答案特别有用,请点赞。 【参考方案1】:

尝试将代码末尾对ggplot() 的调用替换为:

ggplot(aes(reorder(lema, n),n)) +
   geom_col(aes(fill = poeta)) +
   coord_flip() +
   facet_wrap(~poeta, scales = "free_y")

这将告诉 ggplot 您希望列的填充随 poeta 的不同值而变化,而不是像您指定的那样全部为 "greenyellow"

【讨论】:

以上是关于ggplot2 改变 geom_col 的填充颜色(非常非常初学者)的主要内容,如果未能解决你的问题,请参考以下文章

使用 facet_grid 和一个因子来确定列的填充颜色时保持列的顺序 (geom_col)

ggplot2中的颜色和填充参数有什么区别?

ggplot2之颜色设置

ggplot2:geom_ribbon 的填充颜色行为

如何设置 ggplot2 填充颜色以聚合统计信息?

R语言ggplot2可视化堆叠的条形图(stacked bar plot)并在每一个条形图的的中间添加对应的数值值标签定位在geom_col堆叠的条形图中的每个条形段的中间