[英]Overlapping legend in r plot
我尝试使用此代码,但图例与情节重叠。 我想将图例放在图片的底部(在绘图下方居中),并且我也想调整图例中示例行的大小,因为它们也会重叠文本。
plot(Portfolio.z, plot.type ="single", main ="Portfolio",
col =c("red", "blue", "green", "black", "yellow", "purple"),
lty =c("solid", "solid", "solid", "solid", "solid", "solid"),
lwd =2, ylab = "Price")
par(xpd=TRUE)
legend("bottom",legend = c("JP Morgan", "Goldman Sachs",
"BP", "ExxonMobil", "Lockheed Martin", "Boeing"),
text.width = min(sapply(c("JP Morgan", "Goldman Sachs",
"BP", "ExxonMobil", "Lockheed Martin", "Boeing"), strwidth)),
col=c("red", "blue", "black", "green", "purple",
"yellow"), lwd=5, horiz = TRUE)
您应该阅读图例的手册页- ?legend
:您可以完全控制位置和字体大小的各个方面。 首先,除非您删除了x轴标签或增加了底部的边距( ?par
,参数mar=
),否则您没有在x轴下方放置图例的空间。 图例中的inset=
参数将调整位置,以便像inset=c(0, -.15)
这样将其放置在轴下方,但是您可能需要向上或向下调整-.15。 您还需要包括xpd=TRUE
以便R知道可以将图例放在绘图下方的空白处。 最后, cex=
控制文本的扩展,默认为1:
plot(NA, xlim=c(0, 1), ylim=c(0, 1), xlab="")
legend("bottom", "A very long legend under the plot",
xpd=TRUE, inset=c(0, -.15), cex=.8)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.