正如标题所说: 使用基本图形时,如何在绘图区域之外绘制图例?
我想过摆弄layout并制作一个只包含图例的空图,但我会对仅使用基本图形工具的方式感兴趣,例如,par(mar = )在图例的右侧获得一些空间。
layout
par(mar = )
这里有一个例子:
plot(1:3, rnorm(3), pch = 1, lty = 1, type = "o", ylim=c(-2,2)) lines(1:3, rnorm(3), pch = 2, lty = 2, type="o") legend(1,-1,c("group A", "group B"), pch = c(1,2), lty = c(1,2))
产生:
但如前所述,我希望图例位于绘图区域之外(例如,在图形/绘图的右侧。
也许您需要的是par(xpd=TRUE)使事物能够在绘图区域之外绘制。因此,如果您使用主要情节进行处理bty='L',则右侧将有一些空间用于图例。通常这会被剪裁到绘图区域,但是par(xpd=TRUE)通过一些调整,您可以获得尽可能远的图例:
par(xpd=TRUE)
bty='L'
set.seed(1) # just to get the same random numbers par(xpd=FALSE) # this is usually the default plot(1:3, rnorm(3), pch = 1, lty = 1, type = "o", ylim=c(-2,2), bty='L') # this legend gets clipped: legend(2.8,0,c("group A", "group B"), pch = c(1,2), lty = c(1,2)) # so turn off clipping: par(xpd=TRUE) legend(2.8,-1,c("group A", "group B"), pch = c(1,2), lty = c(1,2))