2015-05-06 82 views
5

我在R中有一個繪圖,它有大量的樣本組,因此圖例大於頁面大小並被截斷。我知道這不是出版質量,但我需要知道顏色才能在Illustrator中製作圖例。ggplot圖例列表大於

有沒有辦法讓頁面尺寸更大或以某種方式更改圖例格式,以便我可以包含所有密鑰?這樣做的原因是我可以在Illustrator中打開PDF並獲取每個樣本的顏色以創建將用於發佈的新圖例。我認爲也許有一個剪貼蒙版,並且實際的傳說將被保留,但是當我在Illustrator中打開時,圖例實際上在頁面的ends1處被剪切掉了。

Here is one exmple where the legend goes beyond the graph and the page size and is therefore cut off.

正如在評論中提出下面我給nrow一試這幫助了突破的傳說,但現在整個頁面只是傳說。

ggplot(purine.n, aes(x=variable, y=value, colour=metabolite_gene, shape=variable)) 
+geom_abline(slope=0) 
+geom_point(size=4, position=position_dodge(width=0.08)) 
+scale_y_continuous(limit=c(-3.5,5.5), breaks=c(-3,-2,-1,0,1,2,3,4,5)) 
+scale_shape_manual(values=c(16,17,17), guide=F) 
+theme_bw() 
+theme(legend.key=element_blank(), legend.key.size=unit(1,"point")) 
+guides(colour=guide_legend(nrow=16)) 
+1

是否使用['nrow或ncol'(http://docs.ggplot2.org/0.9.3.1/guide_legend.html)參數的幫助? (imo(fwiw)有這麼多的因素/顏色不會產生一個非常豐富的情節/圖例) – user20650

+0

你需要爲每個類別有不同的顏色?除非類別是順序的,否則這對於某人有效閱讀而言可能非常困難。您可能想要找出區分類別的不同方式。 –

+0

謝謝,這導致這個http://stackoverflow.com/questions/25621920/guide-legend-and-ggplot2-format-nrow,但不幸的是它並沒有解決問題。我認爲你指出的是正確的道路!我已更新問題以反映您的建議。 – pandoraEudora

回答

7

正如評論中所建議的,nrow是我的問題的答案。我不得不調整值以獲得適合我的傳奇的行數。以下是已完成的代碼。我需要做更多的調整,比如改變頁面大小以使事情看起來更好,但這不在這個問題的範圍之內。

ggplot(data.n, aes(x=variable, y=value, colour=metabolite_gene, shape=variable)) 
+geom_abline(slope=0)+geom_point(size=4, position=position_dodge(width=0.08)) 
+scale_y_continuous(limit=c(-3.5,5.5), breaks=c(-3,-2,-1,0,1,2,3,4,5)) 
+scale_shape_manual(values=c(16,17,17), guide=F) 
+theme_bw() 
+theme(legend.key=element_blank(), legend.key.size=unit(1,"point")) 
+guides(colour=guide_legend(nrow=30)) 

fixed legend with nrow