2016-10-27 3 views
2

これは私がこれまでエラーバーを含む複数のデータセットをプロットするにはどうすればよいですか?

library(Hmisc) 

m1 <- read.table("mt7.1r1.rp", header = FALSE) 
m2 <- read.table("mt7.1r2.rp", header = FALSE) 
m3 <- read.table("mt7.2r1.rp", header = FALSE) 
m4 <- read.table("mt7.2r2.rp", header = FALSE) 

p1=m1[1] 
per1=log10(p1) 
ixxr=m1[3] 
ixxi=m1[4] 

p2=m2[1] 
per2=log10(p2) 
ixyr=m2[3] 
ixyi=m2[4] 

p3=m3[1] 
per3=log10(p3) 
iyxr=m3[3] 
iyxi=m3[4] 

p4=m4[1] 
per4=log10(p4) 
iyyr=m4[3] 
iyyi=m4[4] 

erxx=m1[5] 
erxy=m2[5] 
eryx=m3[5] 
eryy=m4[5] 

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

ymin <- floor(min(ixxr,ixxi)) 
ymax <- ceiling(max(ixxr,ixxi)) 

per1=unname(per1) 
ixxr=unname(ixxr) 
ixxi=unname(ixxi) 
erxx=unname(erxx) 

per1=unlist(per1) 
ixxr=unlist(ixxr) 
ixxi=unlist(ixxi) 
erxx=unlist(erxx) 

errbar(per1,ixxr,ixxr+erxx,ixxr-erxx,col='red',xlabel='Per (s)',ylabel='Zxx/Zxy') 
par(new = T) 
errbar(per1,ixxi,ixxi+erxx,ixxi-erxx,col='green') 

行っているが、私は2つのデータセットから enter image description here

Y軸が重なっている画像を得たものです。これを防ぐ方法は? 1つのラベルを持つ最小、最大範囲の一意の軸を持っています。 プロットする前にデータをグループ化するか... ...?

答えて

2

2つのプロットのうちの1つにyaxt = 'n'を追加すると(私は最初のプロンプトで行いました)、y軸を報告しません。 1つのyラベルしか持たない場合は、最初にylab = NAを使用し、2番目のプロット(またはその逆)にyラベルを設定します。

errbar(per1,ixxr,ixxr+erxx,ixxr-erxx,col='red', xlab='Per (s)', 
     yaxt = 'n', ylab = NA) 

errbar(per1,ixxi,ixxi+erxx,ixxi-erxx,col='green', ylab = 'ixxr and ixxi') 

とてもすべてがプロット上に表示されますことを確認するために、yの値の共通範囲を計算し、ylimを通してそれを設定することをお勧めだろう。

関連する問題