2012-06-22 54 views
8

我使用ggplot(包名稱:ggplot2)繪製15行,每個代表一個單獨的實體並希望爲其創建圖例。但是,我無法將圖例條目劃分爲多個列。有人可以請建議如何在ggplot環境中做同樣的事情。在R代碼中使用ggplot時在圖例列表中創建列

目前,我使用下面的命令來創建傳說:

opts(title=plotName,legend.position='bottom') 

然而,這給出了一個列的傳說。結果,圖表中的大面積是由傳奇本身。將它分成2列或3列在將圖例保留在圖表底部的情況下確實有助於原因。 我也試過legend.direction,但是這個命令在一行中顯示圖例,這是不可取的,除非我可以將它擴展到2-3行。

opts(title=plotName,legend.position='bottom',legend.direction="horizontal") 

由於提前, Munish

回答

8

您可以使用guide_legend()來控制佈局和ggplot傳說的外觀。特別是,它需要參數nrowncol,這就是你所追求的。

下面是非常有用的文檔Changes and additions to ggplot2-0.9.0.pdf的第2部分中的一個示例。

library(ggplot2) 

q <- ggplot(diamonds, aes(x = table, fill = clarity)) + 
    geom_histogram() + 
    scale_y_continuous() 

q + guides(fill = guide_legend(nrow = 4, title.hjust = 0.4, 
     title.theme = theme_text(size = 12, face = "bold"))) + 
xlim(45, 75) 
11

使用ggplot的新主題的環境只需要一個簡單的:+ guides(col=guide_legend(ncol=2))在2列格式化你的傳奇。