0

現在、私が使用しているRスニペットは次のとおりです。

a <- read.table('A.out')
a <- cbind(1:nrow(a), a)
colnames(a) <- c('Observation','Time')

med.a <- median(a$Time)
plot(a$Observation, a$Time, xaxt="n", yaxt="n", xlab="",
     ylab="", type="b", col="red", pch=19)
abline(med.a,0, col='red', lty=2)
grid(col='darkgray', lty=1)

#Overlay Someone else
b <- read.table('B.out')
b <- cbind(1:nrow(b), b)
colnames(b) <- c('Observation','Time')

par(new=TRUE)
med.b <- median(b$Time)
plot(b$Observation, b$Time, xaxt="n", ylab="units", type="b", col="blue", pch=19)
abline(med.b,0, col='blue', lty=2)

しかし、これはスケールの違いを説明していません。(つまり、A.out 値が B.out 値よりもはるかに大きい場合でも、それらは同じ y スケールに表示されます。それらを比較できるようにするには、どうすれば目的の効果を得ることができますか?)

これが私の A.out と B.out の内容です:

> a
  Observation     Time
1           1 11758000
2           2 10523000
3           3 10306000
> b
  Observation         Time
1           1 133721740000
2           2 133759475000
3           3 133724604000
4

2 に答える 2

4

plotあなたは二度電話しています。各呼び出しは、新しい座標系を設定します。代わりに、1回の呼び出しを使用plotして軸と座標系を設定してから、を使用linesして実際の点をプロットします。

xrange <- range(c(a$Observation, b$Observation))
yrange <- range(c(a$Time, b$Time))
plot(0, type="n", xlim=xrange, ylim=yrange)
lines(a$Observation, a$Time, type="b", col="red", pch=19)
lines(b$Observation, b$Time, type="b", col="blue", pch=19)

ここから、中央線、軸ラベルなど、必要に応じて他のものを追加できるはずです。

于 2012-06-12T19:19:58.050 に答える
0

これを両方のプロット呼び出し内に追加する必要があります。

  ..., xlim=range(c( a$Observation, b$Observation )), 
       ylim= range(c( a$Time, b$Time )),  ...
于 2012-06-12T19:20:22.270 に答える