【问题标题】:Color in ggplot- continuous value applied to discrete variableggplot中的颜色-应用于离散变量的连续值
【发布时间】:2023-03-16 16:50:01
【问题描述】:

我已经看到有关此主题的另一个问题,但我仍然无法更改 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"))

错误:提供给离散刻度的连续值!!!啊!

***有人可以帮我应用绿色渐变吗?谢谢!!

【问题讨论】:

  • 欢迎来到 SO。感谢您发布代码,但请注意,我们实际上无法重现它,因为我们不知道 mTCdf 数据框包含什么。处理这个问题的最好方法是用一个最小的例子重新创建你的问题。或者,您可以使用dput 输出您的实际数据框,并将结果粘贴到您的问题中。见这里:stackoverflow.com/questions/5963269/…
  • 你能提供一个可行的例子吗?当我无法重现您的结果时,很难提供帮助。

标签: r ggplot2


【解决方案1】:

问题是您将 years3 列视为离散(分类)变量,而 R 认为它是连续(数字)变量。 @JPC 的解决方案解决了您的问题,但我建议您最好解决根本问题。这可以通过将您的 years3 列更改为一个因子来完成:

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

然后按照你的方式制作情节。

【讨论】:

  • 如果不是as.factor,这也给我带来了一些麻烦。
【解决方案2】:

您想使用 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")

【讨论】:

  • 解释会很有用。我和 OP 有同样的错误,但我在这里看不到解决方案……这可能很明显,但还看不到……
  • 因为她使用连续变量进行填充,所以 ggplot 使用渐变。通过将 scale_fill_gradient 中的值更改为她想要的适当果岭,它将为她完成剩下的工作。是不是更清楚了?
猜你喜欢
  • 1970-01-01
  • 2021-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-04
  • 2020-04-04
  • 2018-05-16
相关资源
最近更新 更多