Aes ggplot 按颜色分类不填充整个条形图

问题描述 投票:0回答:1

我一直在网上寻找解决方案,但找不到合适的解决方案。这是我的数据:

   tag    Center   n    n_tag  persen
1  lisan  я        103  2142   0.048085901
2  medrus я        11   2588   0.004250386
3  medsos я        28   2778   0.010079194
4  puisi  я        66   2622   0.025171625

这是我可视化条形图的代码,其中 x = 标签,y = 人员。

ggplot(df_persen, aes(tag, persen, color=Center) + geom_bar(stat="identity", width=0.6) + theme_classic()

这是以下结果:

如您所见,颜色仅存在于轮廓中。我希望颜色填充整个条形图,而不仅仅是轮廓。

我知道我们可以使用填充 geom_bar 来为整个条形图着色,如下所示:

ggplot(df_persen, aes(tag, persen)) + geom_bar(stat="identity", width=0.6, fill="cyan4") + theme_classic()

我希望条形图看起来大约像那样。是的,我知道我当前的数据在 Center 列中只有 1 个变量,但稍后我会添加更多变量,以便我可以根据 Center 中变量的颜色对其进行分类。

我怎样才能做到这一点?预先感谢!

r dataframe ggplot2 bar-chart visualization
1个回答
0
投票

你必须在 aes() 函数中包含 fill = Center 来根据“Center”变量指定填充颜色

df_persen <- data.frame(
      tag = c("lisan", "medrus", "medsos", "puisi"),
      Center = rep("я", 4),
      n = c(103, 11, 28, 66),
      n_tag = c(2142, 2588, 2778, 2622),
      persen = c(0.048085901, 0.004250386, 0.010079194, 0.025171625)
    )
    
    # Load the ggplot2 library
    library(ggplot2)
    
    # Plot the barplot
    ggplot(df_persen, aes(tag, persen, fill = Center)) +
      geom_bar(stat = "identity", width = 0.6) +
      theme_classic()
© www.soinside.com 2019 - 2024. All rights reserved.