我有这段代码:
# 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。
答案 0 :(得分:7)
一个选项是为line
指定mtext()
参数。在下面的示例中,我使用side = 4
在图表的右边(par()
)边缘添加了几行,然后使用默认的mtext()
绘制了三个标签({{1 }),第3行(line = 0
)和第3行(line = 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
设置边距线的数量(在par(mar = x)
中设置)以及要使用mtext()
绘制的线条需要一点点玩法,但是一点点试错会让你得到什么想。
另请注意,不需要为line
参数指定整数值。您也可以指定行的分数:line = 2.5
。