2015-02-11 108 views
2

與幾個變量標註軸我有一個數據幀如下:如何R中GGPLOT2

Name,Tutor,Test,Score,Percent,school.year 
Mark,Eric,Maths,100,100,2 
Mark,Eric,English,91,91,2 
Sue,Richard,Maths,88,100,5 
Sue,Richard,English,71,80.7,5 

我想在y軸和名稱與每個測試條的x軸繪製個百分點。我的代碼做我想要的情節,但x軸標籤只是名稱。我想在x軸上添加其他變量(僅用於標籤)。所以比如標有2個小節; 1代表數學,1代表英語,他的xaxis標籤也有'標誌''\''埃裏克',所以我們可以看到誰指導了他。如果可能的話,我想添加幾個額外的標籤,如學年。我的代碼到目前爲止如下;

results <- read.csv('results.csv') 
p <- ggplot(results, aes(y=Percent, x=Name, colour=Test, fill=Test)) + 
geom_bar(stat='identity', position='dodge') + 
ggtitle('Test Results') + 
ylab('Percent') 

我可以繪製的單個變量作爲x軸標籤e.g:

+scale_x_discrete(labels = results$Score) 

或手動地改變它們(雖然也有與訂單問題);

scale_x_discrete(標籤= C( '馬克\ n埃裏克', '蘇\ n理查德' 等))

有沒有辦法到其他變量添加到X-標籤,最好有換行符?非常感謝

回答

4

我建議在數據幀創建另一列,其中將包含標籤,然後用它作爲x

results$label <- paste(results$Name,results$Tutor,sep='\n') 

ggplot(results, aes(y=Percent, x=label, colour=Test, fill=Test)) + 
    geom_bar(stat='identity', position='dodge') + 
    ggtitle('Test Results') + 
    ylab('Percent') 

enter image description here

+0

完善,能解決它 – user3062260 2015-02-11 21:05:47