2

我想将我的 ggplot2 图例移动到角落,但不是在情节本身内。所以它应该仍然在边缘,但不在中心。我发现的唯一选项是选择“顶部”、“右侧”等,或者在绘图本身内使用自定义坐标。

例如,以这张图片为例:

哈德利图](http://i.imgur.com/wpuuZoZ.png)

想象一下,将图例从当前位置直接向下滑动到右下角。

例如,我尝试将图例位置设置c(12, 2)为,但它就消失了。

将它设置为“右”是当前图像,但我需要图例向下滑动到“右下角”。

4

1 回答 1

1

您可以扩展绘图边距,然后将图例位置设置在绘图之外的某个位置。

创建您的数据:

dat = data.frame(x=1:10, y=10:1, type=rep(c('a', 'b'), each=5))

使用plot.margin和中的legend.position元素themeunit首先用你的边距创建一个对象:

margins = unit(c(1, 4, 1, 1), 'lines')

然后使用边距和图例位置调用 ggplot。

ggplot(dat, aes(x, y, color=type)) + 
    geom_point() +
    theme(plot.margin=margins,
          legend.position=c(1.075, 0))

(图例位置通常设置在 0 和 1 之间(使用归一化的父坐标),而不是绘图的实际 x 和 y 坐标。)

于 2015-04-22T22:52:54.183 回答