2016-11-29 56 views
1

我有一個質量過程,我需要隨時間導出完全相同的圖。我主要使用來自ggplot2的疊加條形圖,這對我來說非常適合。最近,我將ggplot2版本更新爲ggplot2 2.2.0,並且我無法找到重現以前圖形的方法。使用新版ggplot進行色階反轉

這裏是我的代碼:

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。這仍是如此,但現在粉部分是在杆的頂部(見下圖)

Difference between the two graphs

我試圖扭轉可變因素的順序,但現在F1處於藍色等,這是不是我既不想要的東西。

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

enter image description here

你有什麼想法,我怎麼能找到我的好老garph回來? (從長期角度來看,回到以前的版本不是可行的版本)

回答

2

您可以在position_stack中設置reverse = TRUE以顛倒默認堆疊順序(請參閱?position_stack)。

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

其中給出:

enter image description here

+0

簡單而完美。謝謝 ! – Pauline