Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot中的颜色-应用于离散变量的连续值_R_Ggplot2 - Fatal编程技术网

R ggplot中的颜色-应用于离散变量的连续值

R ggplot中的颜色-应用于离散变量的连续值,r,ggplot2,R,Ggplot2,我已经看到了关于这个主题的另一个问题,但我仍然无法在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") mT

我已经看到了关于这个主题的另一个问题,但我仍然无法在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"))
错误:连续值提供给离散刻度!!!啊


***有人能帮我把绿色渐变应用到这个吗??谢谢

您希望使用缩放\填充\渐变。下面是一些虚构数据的快速示例

  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")

问题在于,当R认为
年3
列是连续的(数字)变量时,您将其视为离散(分类)变量@JPC的解决方案解决了您的问题,但我建议您最好解决潜在的问题。这可以通过将
years3
列更改为系数来实现:

mTCdf$years3 <- as.factor(mTCdf$years3)

mTCdf$years3欢迎来到SO。感谢您发布您的代码,但请注意,我们无法实际复制它,因为我们不知道
mTCdf
数据帧包含什么。处理此问题的最佳方法是用最少的示例重新创建问题。或者,您可以使用
dput
输出实际数据帧,并将结果粘贴到问题中。请看这里:你能提供一个可行的例子吗?当我无法复制你的结果时,很难帮上忙。一个解释会很有用。我有和OP相同的错误,但我看不到这里的解决方案。。。这可能很明显,但还看不到……因为她使用连续变量填充,所以ggplot使用梯度。通过将scale\u fill\u gradient中的值更改为她想要的适当的绿色,它将为她完成其余的工作。这更清楚吗?这也给了我一些麻烦,如果不是.factor