2014-03-04 80 views
0

我有簡單的數據框DF(4行X 2列)...我想要爲每個行值繪製一個圖表(條形圖)單獨的圖。因此,我可以相鄰(在一個圖形行中)獲得3條柱狀圖,最後一個圖形出現在一個新行中(延伸到整行)。我不知道爲什麼「計數」軸的範圍是從0-1,我無法找出問題。此外,我嘗試用geom_text顯示在欄頂部的值,並將它似乎不工作....來自dput命令ggplot2:在一行中有3個柱狀圖數字,在第二行中有一個柱狀圖

我的數據:

structure(list(Test = structure(1:4, .Label = c("Source A", "Subject B", 
"Level C", "General rate"), class = "factor", scores = structure(c(4L, 
3L, 1L, 2L), .Dim = 4L, .Dimnames = list(c("General rate", "Level C", 
"Source A", "Subject B")))), Percentage = c(6.5, 29.1, 58.34, 
95.10)), .Names = c("Test", "Percentage"), row.names = c(NA, 
-4L), class = "data.frame") 

我的代碼:

ggplot(DF, aes(Percentage)) + geom_bar(fill="gray") + 
facet_wrap(~ Test)+ 
scale_fill_manual(values = c("gray80", 
          "gray70", 
          "gray60", 
          "gray20")) 

我不得不手動填充顏色,因爲某些原因scale_colour_grey(start = 0, end = .9) or scale_fill_grey(),也不和我一起工作.... enter image description here

我肯定還有很多其他很好的代表性的數據,並且完全開放給我們提出建議和新意見!

+0

原因代碼爲什麼'scale_colour_grey(開始= 0,結束= 0.9)'和'scale_fill_grey()'不工作是你必須把'補=「灰色「'部分在ggplot-code的'aes'部分。以我的答案爲例。 – Jaap

回答

1

嘗試此

ggplot(DF, aes(y=Percentage, x= Test)) +geom_bar(stat="identity")+facet_wrap(~Test,scales="free_x") 

free_x,是給你在x軸的自由規模。 至於你想要什麼,你將需要創建兩個不同的情節,然後將其與grid.arrange結合。 因此,不具有'普通費率'且僅具有'綜合費率'的數據集的子集, 創建兩個圖併合並它們。下面

df.1 <-subset(DF, Test!="General rate") 
df.2 <-subset(DF, Test=="General rate") 
#plot top 
plot.top <-ggplot(df.1, aes(y=Percentage, x= Test)) +geom_bar(stat="identity")+facet_wrap(~Test,scales="free_x") 
#plot bottom 
plot.bottom <-ggplot(df.2, aes(y=Percentage, x= Test)) +geom_bar(stat="identity")+facet_wrap(~Test,scales="free_x") 
library(gridExtra) 
#Loading required package: grid 
grid.arrange(plot.top, plot.bottom) 

The Result with grid.arrange

2

爲什麼要使用facet's?在這種情況下,我認爲只製作一個barplot會更好,因此您可以更好地比較不同的羣體。

示例代碼:

ggplot(df, aes(x=Test, y=Percentage, fill=Test)) + 
    geom_bar() 

其結果是: enter image description here

+0

和是的,除非有一個非常具體的理由你想要的情節描述,我會去這個,因爲它更容易比較所有在一個情節。當你有更多的分組級別時,分面更容易 – infominer

+0

你是對的,但我需要在一個單獨的圖中顯示一般速率,計算方式不同......感謝評論@Jaap! – SimpleNEasy