R ggplot2:将图例移动到拐角处,但将其保留在边距中?
我想将我的ggplot2图例移到角落,但不在绘图本身内部。所以它应该仍然在边缘,但不在中间。我找到的唯一选项是选择“顶部”、“右侧”等,或者在绘图本身中使用自定义坐标 例如,以这张图片为例: 想象一下,将图例从当前位置直接向下滑动到右下角 例如,我尝试将图例位置设置为R ggplot2:将图例移动到拐角处,但将其保留在边距中?,r,ggplot2,legend,margins,legend-properties,R,Ggplot2,Legend,Margins,Legend Properties,我想将我的ggplot2图例移到角落,但不在绘图本身内部。所以它应该仍然在边缘,但不在中间。我找到的唯一选项是选择“顶部”、“右侧”等,或者在绘图本身中使用自定义坐标 例如,以这张图片为例: 想象一下,将图例从当前位置直接向下滑动到右下角 例如,我尝试将图例位置设置为c(12,2),但它只是消失了 将其设置为“右”是当前图像的内容,但我需要图例向下滑动到“右下角”。您可以展开绘图页边距,然后将图例位置设置为绘图之外的某个位置 创建您的数据: dat = data.frame(x=1:10, y
c(12,2)
,但它只是消失了
将其设置为“右”是当前图像的内容,但我需要图例向下滑动到“右下角”。您可以展开绘图页边距,然后将图例位置设置为绘图之外的某个位置 创建您的数据:
dat = data.frame(x=1:10, y=10:1, type=rep(c('a', 'b'), each=5))
使用主题
中的绘图边距
和图例位置
元素。首先用边距创建一个单元
对象:
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坐标。)是否可以使用(scale_x_continuous()将x轴扩展到12然后使用额外的空间?很有创意,但是没有。它需要足够的抛光以满足副总裁的眼睛。我尝试了你的代码。对于边距部分,我得到:错误:找不到函数“unit”。编辑:结果是你需要附加网格包才能使用unit命令。它现在工作得很好。谢谢!