gpt4 book ai didi

r - 更改 ggplot 中躲闪条之一的填充颜色

转载 作者:行者123 更新时间:2023-12-02 18:37:56 25 4
gpt4 key购买 nike

我只想更改最后一组条形图的顺序,只是为了突出显示它。我使用了 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"))

这是输出:

enter image description here

我希望图表看起来像: enter image description here

有什么办法可以做到这一点吗?我将不胜感激任何帮助。我看了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"))

enter image description here

我认为从图例中省略红色会很困难,但是 this answer告诉我,所需要做的就是添加 breaks = c("Type1", "Type2") 作为 scale_fill_manual 的参数。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com