显示的图由以下 R 代码生成。
png("test.png")
plot(data[,4],data[,3],type='l',col="green")
par(new=TRUE)
plot(data[,4],data[,2],type='l',col="red")
dev.off()
两个图的 Y 轴范围不同,它被覆盖,如图所示。有人可以帮助为两个图设置相同的 Y 轴范围。
显示的图由以下 R 代码生成。
png("test.png")
plot(data[,4],data[,3],type='l',col="green")
par(new=TRUE)
plot(data[,4],data[,2],type='l',col="red")
dev.off()
两个图的 Y 轴范围不同,它被覆盖,如图所示。有人可以帮助为两个图设置相同的 Y 轴范围。
如果 y 刻度大部分重叠,那么您可以制作一个包含整个范围的初始图(而不在其上绘制任何东西)来定义轴,然后绘制线条。
set.seed(5)
data <- data.frame(1:60, rnorm(60, 0.6, 0.1), rnorm(60, 0.65, 0.15),
seq(2,120,by=2))
使用type='n'
设置轴,但不绘制任何内容。使用所有数据的范围确保绘图包含所有数据。
plot(range(data[,4]), range(c(data[,3],data[,2])), type='n')
lines(data[,4], data[,3], type='l', col='green')
lines(data[,4], data[,2], type='l', col='red')
您可以使用此方法:
par(new=TRUE)
(axes=FALSE)
如果第二个绘图的 y 与第一个不同,您可以使用该axis()
函数在右侧绘制第二个 y 轴来表示比例。
例如,您可以执行以下操作:
data <- matrix(rnorm(4*100),ncol=4)
par(mar=c(5, 6, 2, 4))
plot(1:100,data[,3], lwd=3, col="green", ann=FALSE, las=2,type='l')
mtext("I am at left", side=2, line=3.5)
par(new=TRUE)
plot(1:100,data[,2], ann=FALSE, axes=FALSE,col='red',type='l')
mtext("I am at right)", side=4, line=2)
title("Using par(new=TRUE) \n same X and different or not Y axis ")
axis(4)