2
我的數據集是這樣的:條形圖中ggplot與不同數量的酒吧每組
`DSET<-data.frame(cbind(c(rep("V1",3),rep("V2",3),"V3"),
c(rep(c("X1","X2","X3"),2),"X1"),
c(rep(1,7))))`
`names(DSET)<-c("A","B","C")`
`DSET[,3]<-c(1,-2,1,3,-1,2,-3)`
有三個分組變量(V1,V2,V3)和每組三個變量(X1,X2,X3)。問題是組3(V3)只有一個變量(X1),但缺少另外兩個變量。如果我想製作一個條形圖,現在一切正常,儘管第3組的欄比第一組和第二組的欄大三倍。
`Grph<-ggplot(DSET,aes(x=A,y=C,fill=B))`
`dodge <- position_dodge(width=0.9)`
`Grph+geom_bar(position=dodge)`
我試圖與缺乏組和X2和X3的值0添加兩行和它的工作原理有點。
`DSET<-data.frame(cbind(c(rep("V1",3),rep("V2",3),rep("V3",3)),
c(rep(c("X1","X2","X3"),3)),c(rep(1,9))))`
`names(DSET)<-c("A","B","C")`
`DSET[,3]<-c(1,-2,1,3,-1,2,-3,0,0)`
`Grph<- ggplot(DSET,aes(x=A,y=C,fill=B))`
`dodge <- position_dodge(width=0.9)`
`Grph+geom_bar(position=dodge)`
但我真的想實現的是,根據每個組都有通過保持線條的寬度不變的條數調整組大小的圖。有沒有辦法做到這一點?
期待您的幫助!
謝謝布賴恩!我實際上在使用facet_grids之前嘗試過使用aes(x = A,y = C,fill = B),它給出了與第一個圖形相同的結果。但現在它起作用了,太棒了!你也知道如何使用geom_abline在x = 0 w/o處繪製一條線嗎? geom_abline將線條略微拉高,使其看起來很奇怪,特別是在我的真實圖形中,我有誤差條,直到x = 0。 – Latrunculia 2012-02-02 09:34:45
我解決了它:我必須指定斜率和截距而不是x = 0。不過,我想知道它會發生什麼變化。 Ps .:順便說一句 - 感謝您的代碼編輯! – Latrunculia 2012-02-02 09:44:42
你也可以考慮'geom_hline(yintercept = 0)'爲水平線。 – 2012-02-02 16:23:10