我已经创建了一个带有两个y轴的图表,并使用mtext()函数标记右侧的y轴。
# generate some data to plot
x <- 1:5
y1 <- rnorm(5)
y2 <- rnorm(5,20)
# set margins
par(mar=c(5,4,4,5)+.1)
# plot first x/y line
plot(x,y1,type="l",col="red")
#plot second x/y line
par(new=TRUE)
plot(x, y2,,type="l",col="blue",xaxt="n",yaxt="n",xlab="",ylab="")
axis(4)
mtext("y2",side=4,line=3)
这个功能单独使用非常好。但是,如果将其放入具有多个图形的图中:
# create a 3x3 figure for multiple plots
par(mfrow = c(3, 3))
# generate some data to plot
x <- 1:5
y1 <- rnorm(5)
y2 <- rnorm(5,20)
# set margins
par(mar=c(5,4,4,5)+.1)
# plot first x/y line
plot(x,y1,type="l",col="red")
#plot second x/y line
par(new=TRUE)
plot(x, y2,,type="l",col="blue",xaxt="n",yaxt="n",xlab="",ylab="")
axis(4)
mtext("y2",side=4,line=3)
在这里,左侧y轴标签变小了,而右侧轴没有变化。
我知道这种行为的原因是mtext()
中的cex
参数并不是相对于par("cex")
的;我想找到一种解决方法。
par(mfrow = ...)
进行多个图形的绘制是一件非常痛苦的事情。建议尝试使用ggplot2
或lattice
库来进行绘图。 - Michael Hoffman