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了两次电话。每次调用都会建立一个新的坐标系。相反,使用一次调用来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 回答