R 使用新版ggplot进行色阶反转

R 使用新版ggplot进行色阶反转,r,ggplot2,R,Ggplot2,我有一个高质量的过程,我需要随着时间的推移导出完全相同的图表。我主要使用ggplot2中的堆叠条形图,这对我来说已经足够了。最近,我将我的ggplot2版本更新为ggplot2 2.2.0,我找不到重现以前图形的方法 这是我的密码: DF1=data.frame(Rank=rep(1:4,3),variable=rep(c("F1","F2","F3"),each=4),value=c(500,400,300,200,250,100,155,90,50,30,100,10)) library(g

我有一个高质量的过程,我需要随着时间的推移导出完全相同的图表。我主要使用ggplot2中的堆叠条形图,这对我来说已经足够了。最近,我将我的ggplot2版本更新为ggplot2 2.2.0,我找不到重现以前图形的方法

这是我的密码:

DF1=data.frame(Rank=rep(1:4,3),variable=rep(c("F1","F2","F3"),each=4),value=c(500,400,300,200,250,100,155,90,50,30,100,10))
library(ggplot2)
ggplot(DF1, aes(x = Rank, y = value, fill = variable)) + geom_bar(stat = "identity")
在ggplot2的早期版本中,此代码生成了一个图,其中F1为粉红色,F2为绿色,F3为蓝色。这种情况仍然存在,但现在粉红色部分位于条形图的顶部(参见下图)

我试图颠倒可变因子的顺序,但现在F1是蓝色的等等,这也不是我想要的

DF1$variable=factor(DF1$variable,levels=rev(levels(DF1$variable)))
ggplot(DF1, aes(x = Rank, y = value, fill = variable)) + geom_bar(stat = "identity")


你知道我怎样才能找回我那张好的旧图表吗?(从长远来看,回到以前的版本是不可行的)

您可以在
位置堆栈中设置
reverse=TRUE
,以反转默认的堆栈顺序(请参见
位置堆栈

其中:

ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
  geom_bar(stat = "identity", position = position_stack(reverse = TRUE))