R: 图例位置和图例中线的长度定位

7

我无法正确设置图例的位置,尝试使用 xjustncol 进行调整,但它仍然出现在图形中央。

您能帮忙将其对齐到边框(左侧或右侧都可以)吗?

此外,是否可能在图例中绘制较短的线条?当前的线条太长了。

 par(mar=c(5,4,4,5)+.1)
 plot(1:109,rnorm(109), type="l",col="blue", lwd=2, 
      main="Compare signal and std deviation MC3 ch44",
      ylab="signal", xlab="locations")
 par(new=TRUE)
 plot(1:109, rnorm(109), ylab="",xlab="", type="l", 
      col="red",xaxt="n",yaxt="n", lwd=2)
 axis(4)
 mtext("std. deviation",side=4,line=3)
 legend("topright",col=c("blue", "red"), lwd=2,
        legend=c("signal","std dev"), cex=0.85, bty="n", xjust=1)

1
当我运行你的代码时,它出现在右上角。也许可以开始一个新的 R 会话,然后再试一次。 - Thomas
在R-Studio中放大显示的图形比导出为.pdf文件后更居中,可能是由于绘图的缩放因子造成的(?) 但是是否可能在图例中绘制较短的线条? 我无法在任何地方找到该选项... - Irene
1
尝试在legend中使用seg.len参数。 - Henrik
1个回答

6
正如评论中指出的那样,重新启动R会话并使用
legend("topright",col=c("blue", "red"), lwd=2,
 legend=c("signal","std dev"), cex=0.85, bty="n", xjust=1, seg.len=0.5)

解决了我的问题。

2
如果在绘图后更改绘图窗口大小,则经常会出现图例和文本显示在“错误”的位置。如果您想要特定的纵横比,请先设置窗口大小。例如:dev.new(width=3,height=9) - Carl Witthoft

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接