I have this code:
# 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"))
Which produces this graph:
And I can't seem to figure out how to get the secondary y-axis label to show up in the correct position. Any help or suggestions is greatly appreciated.
Edit: Using RStudio.
One option is to specify the
line
argument tomtext()
. In the example below I add a couple more lines to the right (side = 4
) margin of the plot usingpar()
, and then I draw three labels usingmtext()
at the default (line = 0
), line 3 (line = 3
), and line -3 (line = -3
):Note that line numbers increase away from the plot region and that negative
line
values move into the plot region, or to the left of the right boundary of the plot region.It takes a little playing with the number of margin lines (as set in
par(mar = x)
) and which line you want to draw on usingmtext()
, but a little trial and error should get you what you want.Note also that you don't need to specify integer values for the
line
argument. You can specify fractions of lines too:line = 2.5
.