R 如何在ggplot2中移动或定位图例
我正在尝试创建一个ggplot2绘图,绘图下面有图例 ggplot2手册在第112页上说,“图例的位置和对齐由主题设置legend.position控制,值可以是右、左、上、下、无(无图例)或数字位置” 下面的代码可以工作(因为“right”是默认值),它也可以使用“none”作为图例位置,但是“left”、“top”、“bottom”都会因“grid.Call.graphics中的错误(“L_setviewport”,pvp,TRUE):视口的非有限位置和/或大小”而失败R 如何在ggplot2中移动或定位图例,r,ggplot2,legend,legend-properties,R,Ggplot2,Legend,Legend Properties,我正在尝试创建一个ggplot2绘图,绘图下面有图例 ggplot2手册在第112页上说,“图例的位置和对齐由主题设置legend.position控制,值可以是右、左、上、下、无(无图例)或数字位置” 下面的代码可以工作(因为“right”是默认值),它也可以使用“none”作为图例位置,但是“left”、“top”、“bottom”都会因“grid.Call.graphics中的错误(“L_setviewport”,pvp,TRUE):视口的非有限位置和/或大小”而失败 库(ggplot2)
库(ggplot2)
(myDat版本>0.9.3(当opts
被弃用时)
旧版本:
不幸的是,这是ggplot2中的一个bug,我真的很希望在今年夏天修复它
更新:
涉及选项的bug(legend.position=“left”)
已使用最新版本的ggplot2修复。此外,版本0.9.0引入了guide\u legend
和guide\u colorbar
,可以更精细地控制图例内项目的外观和位置。例如,可以指定图例项目的d列。您始终可以手动放置图例-但由于标签仍然堆叠/垂直,看起来有点难看。我真的希望hadley能找到时间解决此问题:-)
p在较新版本的ggplot2
中,可以使用+主题(legend.position='bottom')
请参阅以了解更多关于善良的传说
响应注释, TeMeUpDead() >如果在GGTRAP的中间调用(如<代码> + TeMeUpDeDeUE())/>代码>,只在随后的时间内不被踢入。它还修改了活动主题而不是特定的情节。因此,您可以这样做:
theme_update(legend.position='bottom')
qplot(VarX,VarY, data=myDat, shape=Descrip)
结果如上所述,不同之处在于后续绘图也将默认为底部的图例。当我在这里时,只需对这些答案进行一些更新。
正如哈德利所提到的,您可以使用主题(legend.position=“bottom”)
或者用它手动移动主题(legend.position=c(.2.85))
如果您希望图例是水平的,请使用theme(legend.position=c(.2.85),legend.direction=“horizontal”)
opts()
现在已被弃用-改为使用guide\u legend()
。您可以在theme
参数中调用legend.direction=“horizontal”
。这不是在theme\u update中完成的吗(Ford.Posie=“底部”)<代码> > Ruivira,用于<代码> TeMeUpDead()>代码>,请参阅“使用MUTE()修改单个情节的主题;请参阅TeMeUpDeDeO()),如果要修改活动主题,则影响所有后续情节。“以主题(图例,位置=“底部”))我的图示出现在左下方,而在您的示例中,则显示在中间。(我认为这是我过去几年来的阴谋)。你知道这件事是否发生了变化,又是如何在中间进行的?
theme(legend.position = "bottom")
p <- qplot(VarX,VarY, data=myDat, shape=Descrip) +
opts(legend.position=c(.5,0.9),plot.margin = unit(c(6,0,0,0), "lines"))
qplot(VarX,VarY, data=myDat, shape=Descrip) +
theme(legend.position='bottom')
theme_update(legend.position='bottom')
qplot(VarX,VarY, data=myDat, shape=Descrip)