2011-06-29 54 views
5

可以說,我有一個關於來自不同領域和不同品種胡蘿蔔產量數據集:ggplot2:圖例與繪圖區重疊 - 是否可以手動調整圖例位置?

carrots<-list(Yield=c(345,226,74,559,288,194), 
      Field=c("A","B","C","D","E","F"), 
      Breed=rep(c("Long","Short"),each=3)) 
carrots<-data.frame(carrots) 

我要繪製柱狀圖顯示每個字段的產量,通過品種有色:

ggplot(carrots,aes(y=Yield,x=Field,fill=Breed)) + 
    geom_bar() + 
    opts(legend.direction = "horizontal", 
     legend.position = "top") + 
    labs(fill="") 

plot with slight legend overlap http://users.utu.fi/susjoh/Rplot.png

我已經特里:但傳說總是略微繪圖區域重疊ð手動調節圖例位置是繪圖區以外,如用

opts(legend.position=c(0.5,1.1) 

但隨後的情節利潤率切斷傳奇,我不知道我該怎麼調整。這個問題有更微妙的解決方案嗎?

+2

+1重複的例子,儘管你可以通過調用'data.frame'而不是'list'來刪除數據準備中的第二步。 –

+0

感謝羅馬,任何R的建議總是讚賞:) – susjoh

回答

8

在我的環境,傳說完全不重疊的繪圖區,但無論如何,什麼是重疊是傳奇的背景,這樣你就可以將其刪除:

ggplot(carrots,aes(y=Yield,x=Field,fill=Breed)) + 
geom_bar() + 
opts(legend.direction = "horizontal", 
    legend.position = "top", 
     legend.background = theme_blank()) + # this does hack 
labs(fill="") 
+0

謝謝kohske,這是我需要的簡單解決方案。奇怪的是,這不是通用的 - 對於信息,我在Windows中使用R 2.13.0。 – susjoh