R语言 Aes ggplot按颜色分类,未填充整个条形图[重复]

mum43rcc  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(111)

这个问题已经有答案了

Can't change the color of Bar chart in R(1个回答)
3天前关闭。
我一直在网上寻找解决方案,但我不能得到合适的。所以这里是我的数据:

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 = tag,y = persen。

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


下面是一个例子:
x1c 0d1x的数据
正如你所看到的,颜色只在轮廓中。我想让颜色填满整个条形图,而不仅仅是轮廓。
我知道我们可以用fill in geom_bar给整个条形图上色,如下所示:

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

是的,我知道我当前的数据在列Center中只有一个变量,但我稍后会添加更多变量,这样我就可以根据Center中变量的颜色对其进行分类。
我怎么能这样做呢?提前感谢!

ndasle7k

ndasle7k1#

必须在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()

字符串

相关问题