我已经看到了关于这个主题的另一个问题,但我仍然无法在ggplot中改变我的分组条形图上的颜色。它给我提供了一个蓝色的比例,但我想要一个绿色的规模。我是ggplot的新手,可能会遗漏一些明显的东西。
以下是我的一些代码:
TCplot=ggplot(mTCdf,aes(x=types4,y=TCs,group=years3,color=years3))
+geom_bar(aes(fill=years3),stat="identity",position="dodge",color="black")
mTCdf$types4=factor(mTCdf$types4,levels=c("Single Year Lease","Multi-Year Lease","Permanent"))
levels(mTCdf$types4) ###just to get my labels in my desired order
TCplot=TCplot+ggtitle("Total Costs by Transaction_Type")
+theme(plot.title=element_text(lineheight=.7,face="bold"))
+xlab("Transaction Type")
+ylab("Costs ($)")
library(scales)
TCplot=TCplot+scale_y_continuous(labels=comma)
TCplot=TCplot+scale_fill_manual(values=c("#66FF22","#33FF22","#33EE22","#33DD22","#33CC22","#33BB22","#33AA22","#339922","#338822","#337722","#336622"))
TCplot=TCplot+scale_fill_manual(values=c("#66FF22","#33FF22","#33EE22","#33DD22","#33CC22","#33BB22","#33AA22","#339922","#338822","#337722","#336622"))
错误:提供给离散秤的连续值!哎呀!
***有人可以帮我申请绿色渐变吗?谢谢!
答案 0 :(得分:14)
问题在于,当R认为它是连续的(数字)时,您将years3
列视为离散(分类)变量。 @JPC的解决方案修复了你的问题,但我建议你最好解决潜在的问题。这可以通过将years3
列更改为因子:
mTCdf$years3 <- as.factor(mTCdf$years3)
然后按照你的方式制作情节。
答案 1 :(得分:10)
您想要使用scale_fill_gradient。下面是一些包含一些数据的快速示例
t=data.frame(c1=c('a','a','b','b'),c2=c(1,0,1,0),c3=c(10,20,30,40))
ggplot(t,aes(x=c1,y=c3,group=c2,fill=c2))+geom_bar(stat="identity")+scale_fill_gradient(low="green",high="darkgreen")