ggplot2中图例标题的位置

22

有人知道如何在ggplot中更改图例标题的位置吗?

我使用了以下代码将图例移至底部并水平显示:

p <- p + opts(legend.position = 'bottom', legend.direction = 'horizontal')

但是现在我想让标题出现在图例的左侧而不是上方。我已经查看了以下位置,但找不到或者无法弄清楚:

https://github.com/hadley/ggplot2/wiki/Legend-Attributes http://had.co.nz/ggplot2/book/toolbox.r

感谢任何帮助。

1个回答

29

参考版本0.9的转换指南,你可以尝试以下方法(假设你想改变color图例的标题位置):

library(scales)
+ guides(colour = guide_legend(title.position = "left"))

对于连续变量,你应该使用guide_colorbar而不是guide_legend

为了提供一个具体的例子证明我不是在编造,

library(ggplot2)
library(scales)
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point(aes(colour = qsec)) + 
    guides(colour = guide_legend(title.position = "right"))

这里输入图片描述


谢谢,过渡指南看起来是一个很好的参考。不幸的是,你的建议没有起作用。奇怪的是,我得到了以下错误: - MikeTP
1
@MikeTP 抱歉,我老是忘记告诉大家要加载 scales,请使用 library(scales) - joran
@MikeTP 是的,这只适用于0.9版本,所以如果你还有0.8.9版本,你需要重新安装ggplot2。 - joran
有没有办法将图例标题旋转90度? - yuliaUU
@yuliaUU 或许你在寻找 theme(legend.direction = "horizontal") - joran
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接