【发布时间】:2017-03-17 14:14:15
【问题描述】:
这里是一些示例代码,它提供了一个 2 列的图例。我想减少图例两列之间的空间(见下文)。
library(ggplot2)
labels <- c(expression(""^13*CH[4]),
expression(""^13*CH[4]~"+"~SO[4]^{2-''}),
expression(""^13*CH[4]~"+"~MoO[4]^{2-''}))
ggplot(aes(mpg, wt, colour = factor(cyl), shape=factor(cyl)),
data = mtcars) +
geom_point() +
scale_colour_manual(values=c("red", "green", "blue"), label=labels)+
scale_shape_manual(values = c(4,5,6), label=labels)+
theme(legend.position = "bottom",
legend.text.align = 0,
legend.text = element_text(size=8),
legend.key.size = unit(0.8, 'lines')) +
guides(col = guide_legend("", ncol=2), shape=guide_legend("", col=2))
图的右侧需要额外的空间,因为那里的三个因子水平包含更多的字符。但是,我真的受到情节大小的限制。因此,我想减少图例两行之间的空间。 我还想保持左侧最底部的因子水平不变,而不添加额外的行。
【问题讨论】:
-
请提供一个可重现的示例,以便我们可以解决您的问题。您可以提供一个带有简单绘图的虚拟数据框,该绘图创建对您来说有问题的图例,因此其他人可以帮助提供解决方案,而不必担心重现问题。请参阅stackoverflow.com/q/5963269/446149 了解如何提供一个良好的可重现示例
-
已经有带有虚拟数据集的可重现玩具代码。它编码具有两列的图例。我不认为发布所有标签表达式会有所帮助,而是会夸大问题。
-
我添加了一些表达来澄清。