在R中为辅助轴添加标签

时间:2015-06-23 19:23:11

标签: r axis-labels

我有这段代码:

# 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"))

生成此图表:

enter image description here

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

编辑:使用RStudio。

1 个答案:

答案 0 :(得分:7)

一个选项是为line指定mtext()参数。在下面的示例中,我使用side = 4在图表的右边(par())边缘添加了几行,然后使用默认的mtext()绘制了三个标签({{1 }),第3行(line = 0)和第3行(line = 3):

line = -3

enter image description here

请注意,行号会从绘图区域增加,并且负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设置边距线的数量(在par(mar = x)中设置)以及要使用mtext()绘制的线条需要一点点玩法,但是一点点试错会让你得到什么想。

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