我只想为最后一组更改条形图的顺序,只是为了突出显示它。我使用了scale_fill_manual(),但是并没有太大帮助。

这是我的代码:

 x<-c(rep(c("Type1", "Type2"),4))
     y<-c(4,5,6,7,3,4,5,2)
     time<-c(2010,2010,2011,2011,2012,2012,2013,2013)
     z<-data.frame(type = x, val=y, Time = time)

     ggplot(data = z, aes(x=Time,y=val)) +
       geom_bar(stat = "identity", position = "dodge", aes(fill=type))+
       scale_fill_manual(values = c(rep(c("white", "gray51"),3),"white","red"))

这是输出:

r - 更改ggplot中躲避的条形之一的填充颜色-LMLPHP

我希望图看起来像:
r - 更改ggplot中躲避的条形之一的填充颜色-LMLPHP

有什么办法可以做到吗?我将不胜感激任何帮助。我查看了change color of only one bar in ggplot,但它似乎与分组数据无关。

最佳答案

我的一般口头禅是ggplot非常擅长绘制您提供的数据。如果您希望它绘制不同的内容,最简单的方法通常是修改数据。

z$type2 = as.character(z$type)
z$type2[z$type == "Type2" & z$Time == 2013] = "Type2 "

我为要突出显示的行在"Type2 "中添加了一个偷偷摸摸的额外空间。这将是一个不同的因子级别,并具有其自己的颜色(甚至使用字母默认值被强制为一个好的顺序)。但是在图例标签中将显示相同的内容。
ggplot(data = z, aes(x=Time,y=val)) +
    geom_bar(stat = "identity", position = "dodge", aes(fill=type2))+
    scale_fill_manual(values = c("white", "gray50", "red"))

r - 更改ggplot中躲避的条形之一的填充颜色-LMLPHP

我以为从图例中删除红色会很困难,但是this answer向我展示了所有需要做的就是添加breaks = c("Type1", "Type2")作为scale_fill_manual的参数。

关于r - 更改ggplot中躲避的条形之一的填充颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39235840/

10-13 03:42