2016-05-17 101 views
2

我有這樣的情節Rggplot2 enter image description here放大GGPLOT2傳說

這是由下面的代碼畫製作:

ggplot(mtcars) + 
    geom_smooth(fill='grey', alpha=0.3, span=0.1, aes(x=mpg, y=hp, color='AAA',linetype='AAA')) + 
    geom_smooth(fill='grey', alpha=0.3, span=0.9, aes(x=mpg, y=hp, color='BBB',linetype='BBB')) + 
    scale_colour_manual(name='test', values=c('AAA'='chocolate', 'BBB'='yellow')) + 
    scale_linetype_manual(name='test', values=c('AAA'='dashed','BBB'='solid')) + 
    theme_minimal() +theme(legend.position = "top") 

問題:從傳說中,它是不容易理解「AAA」線是虛線的,因爲框太小。

我該如何放大它?

我很想有類似的東西: enter image description here

+0

看看你可以在這裏改變的傳奇主題http://docs.ggplot2.org/0.9.2.1/theme.html – user20650

回答

3

嘗試

# create your legend guide 
myguide <- guide_legend(keywidth = unit(3, "cm")) 
# now create your graph 
ggplot(mtcars) + 
    geom_smooth(fill='grey', alpha=0.3, span=0.1, 
       aes(x=mpg, y=hp, color='AAA',linetype='AAA')) + 
    geom_smooth(fill='grey', alpha=0.3, span=0.9, 
       aes(x=mpg, y=hp, color='BBB',linetype='BBB')) + 
    scale_colour_manual(name='test', 
         values=c('AAA'='chocolate', 'BBB'='yellow'), 
         guide = myguide) + 
    scale_linetype_manual(name='test', 
         values=c('AAA'='dashed','BBB'='solid'), 
         guide = myguide) + 
    theme_minimal() + theme(legend.position = "top") 

?guide_legendhere

這會給你

enter image description here

您可以使用keywidthkeyheight操縱關鍵多少「延伸」到兩個方向。使用title.position,direction等,您可以進一步調整圖例。

請注意,由於您有多個合併的圖例,因此您需要指定所有合併比例的指南。我首先將外部指南作爲對象進行簡化。