放大ggplot2传奇

时间:2016-05-17 21:11:02

标签: r ggplot2

我在R ggplot2中制作了这个情节 enter image description here

由以下代码绘制:

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

1 个答案:

答案 0 :(得分: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来操纵关键字&#34;拉伸&#34;两个方向。使用title.positiondirection等,您可以进一步微调图例。

请注意,由于您有多个合并的图例,因此您需要指定所有合并比例的指南。我通过首先在外面创建指南来简化这一点。