将标签添加到 R 中的次轴

Adding label to secondary axis in R

我有这个代码:

# Plotting everything
plot( p1, col= "lightgreen", xlim=c(-2.5,4.5), ylim=c(0, 700), main="Daily Total Precipitation for AR and Oct-May", xlab="ln(x)" , ylab="Frequency", xaxt = "n")  # first histogram
plot( p2, col="red", xlim=c(-2.5,4.5), ylim=c(0, 700), xaxt = "n" , add=T)
# Adding in text labels on top of the bars
text(x, y, paste(round(percents,2),"%"), cex=0.50, pos=3, offset=0.3, col="black")
axis(side=1, at=breaks)     # new x-axis
# parameter that needs to be set to add a new graph on top of the other ones
par(new=T)
plot(x, percents, xlim=c(-2.5,4.5), type="l", col="yellow", lwd=3.0, axes=F, ylab=NA, xlab=NA)
axis(side=4, at=seq(0,100,by=10), col="yellow", col.axis="yellow")     # additional y-axis
mtext("Percent", side=4, col="yellow")
# legend settings
legend("topleft", c("AR", "Oct-May"), lwd=10, col=c("red", "lightgreen"))

生成此图的方法:

而且我似乎无法弄清楚如何让辅助 y 轴标签显示在正确的位置。非常感谢任何帮助或建议。

编辑:使用 RStudio。

一个选项是将 line 参数指定给 mtext()。在下面的示例中,我使用 par() 在图的右侧 (side = 4) 添加了几行,然后我在默认情况下使用 mtext() 绘制了三个标签 (line = 0)、第 3 行(line = 3)和第 -3 行(line = -3):

op <- par(mar = c(5,4,4,4) + 0.1)
plot(1:10)
mtext("line0", side = 4)
mtext("line3", side = 4, line = 3)
mtext("line-3", side = 4, line = -3)
par(op)

请注意,行号从绘图区域 增加 并且负值 line 移入绘图区域,或移动到绘图区域右边界的左侧绘图区域。

使用 mtext() 来调整边距线的数量(在 par(mar = x) 中设置)以及您想在哪条线上绘制你想要什么。

另请注意,您不需要line参数指定整数值。您也可以指定行的分数:line = 2.5.