所示的圖由以下R代碼生成。兩個具有相同X和Y軸的圖
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代碼生成。兩個具有相同X和Y軸的圖
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')
@ agstudy,@ Brian Diggs:謝謝! – chas 2013-04-07 06:27:34
您可以使用此方法:
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)
嘗試使用線()添加第二行。 – ndoogan 2013-04-05 13:56:24
爲什麼不爲第二個使用'axes = FALSE'。 – agstudy 2013-04-05 14:44:40