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