将标签添加到 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
.
我有这个代码:
# 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
.