繁体   English   中英

R图中的图例重叠

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM