2016-10-31 2 views
0

私のコードRプロット、なぜ軸の限界の混乱を作り出しているのですか?

library(Hmisc) 

r1 <- read.table("mt7.1r1.rp", header = FALSE) 
r2 <- read.table("mt7.1r2.rp", header = FALSE) 
r3 <- read.table("mt7.2r1.rp", header = FALSE) 
r4 <- read.table("mt7.2r2.rp", header = FALSE) 

p1=r1[1] 
per1=log10(p1) 
p2=r2[1] 
per2=log10(p2) 
p3=r3[1] 
per3=log10(p3) 
p4=r4[1] 
per4=log10(p4) 

m1=nrow(per1) 
m2=nrow(per2) 
m3=nrow(per3) 
m4=nrow(per4) 

xmin <- floor(min(per1,per2,per3,per4)) 
xmax <- ceiling(max(per1,per2,per3,per4)) 

lxmax=10^(xmax) 
lxmin=10^(xmin) 

rhoaxy = r2[3] 
phaxy = r2[5] 

rhoayx = r3[3] 
phayx = r3[5] 

rhoaxx = r1[3] 
phaxx = r1[5] 

rhoayy = r4[3] 
phayy = r4[5] 


per2=unname(per2) 
per2=unlist(per2) 
per3=unname(per3) 
per3=unlist(per3) 

rhoaxy=unname(rhoaxy) 
rhoaxy=unlist(rhoaxy) 
rhoaxy=log10(rhoaxy) 
rhoayx=unname(rhoayx) 
rhoayx=unlist(rhoayx) 
rhoayx=log10(rhoayx) 

ymin1=floor(min(rhoaxy)-1) 
ymax1=ceiling(max(rhoaxy)+1) 
ymin2=floor(min(rhoayx)-1) 
ymax2=ceiling(max(rhoayx)+1) 
ymin=min(ymin1,ymin2) 
ymax=max(ymax1,ymax2) 

png("withlim.png") 

plot(per2,rhoaxy, col='red', xlab='Per (s)', ylab = 'Rho-xy/yx',ylim=c(ymin, ymax)) 
par(new=TRUE) 
plot(per3,rhoayx, col='green', xaxt='n', xlab= NA, yaxt = 'n', ylab = NA) 

dev.off() 

私はYLimプロパティ enter image description here

を削除すると私の質問は、なぜ軸の範囲は、画像の内容を変更しているのですか?秒からの値を、私は enter image description here

を得た画像画像は適切なデータ値に対応します。最初の画像は、rhoaxyとrhoayxを表さない値です。

+0

@ ZheyuanLiプロット前に共通のイルミを設定しますか? – MotaF

答えて

3

データなしでテストするのは難しいですが、2番目のプロットでは、Y軸がプロットではありませんが、Y軸は同じではありません。

したがって、2つのプロットを重ね合わせて、異なるY軸を設定します。 両方のプロットで同じylimを使用する場合は、2番目のプロットにylim=c(ymin, ymax)も追加します。

動作しない場合は、データの例を入力してください。テストすることができます。

+0

はい、これは今完璧に動作します! – MotaF

関連する問題