我有一組來自一組月度數據的條形圖,我想以一行的形式覆蓋另一組每月數據的數據。下面是一個簡單的例子(在我的數據的第二組數據是不是第一個簡單的操作):R ggplot2:條形圖上覆蓋的線條(來自單獨的數據框)
library(reshape2)
library(ggplot2)
test<-abs(rnorm(12)*1000)
test<-rbind(test, test+500)
colnames(test)<-month.abb[seq(1:12)]
rownames(test)<-c("first", "second")
otherTest<-apply(test, 2, mean)
test<-melt(test)
otherTest<-as.data.frame(otherTest)
p<-ggplot(test, aes(x=Var2, y=value, fill=Var1, order=-as.numeric(Var2))) + geom_bar(stat="identity")+
theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line = element_line(colour = "black")) +
ggtitle("Test Graph") +
scale_fill_manual(values = c(rgb(1,1,1), rgb(.9,0,0))) +
guides(fill=FALSE) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
,但我已經試過多次迭代獲得線在那裏,不能算出它(像這樣):
p + geom_line(data=otherTest,size=1, color=rgb(0,.5,0)
另外,如果有人知道我怎樣才能使酒吧在對方面前,讓所有你看到的是一個紅色的條身高500,我會很感激任何suggesti附件。我知道我可以將矩陣的兩行之間的差異保存爲一個堆棧條,但我認爲可能有一種簡單的方法將兩個條放在x軸上,白色放在紅色的前面。謝謝!
這工作,謝謝!爲什麼你需要這個因素Var2?我拿出來,它似乎仍然工作正常。此外,有關如何讓酒吧在另一個前面而不是堆疊的想法? – user3390169
我使用因素來確定訂單。使用字符串將爲您創建訂單(我更喜歡避免)。在每個前面加上「吧」,你可以嘗試添加'position =「identity」' –