Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 哪一个地块有新线?_R - Fatal编程技术网

R 哪一个地块有新线?

R 哪一个地块有新线?,r,R,我收集了一段时间的数据,我想在同一个图上绘制两个研究。对我来说,问题在于随着时间的推移,如何收集数据并将其添加到绘图中。为了举例,以下代码两次绘制同一组随机值,并在每个研究中添加两行: # 2 figures arranged in 2 rows par(mfrow=c(2,1)) set.seed(123) A = sample(seq(from = -2, to = 2, by = 0.1), size = 10, replace = TRUE) plot(seq(1:10),A, mai

我收集了一段时间的数据,我想在同一个图上绘制两个研究。对我来说,问题在于随着时间的推移,如何收集数据并将其添加到绘图中。为了举例,以下代码两次绘制同一组随机值,并在每个研究中添加两行:

# 2 figures arranged in 2 rows
par(mfrow=c(2,1))
set.seed(123)
A = sample(seq(from = -2, to = 2, by = 0.1), size = 10, replace = TRUE)

plot(seq(1:10),A, main="Plot 1")
abline(1.2,0, col="red") #First line added
abline(-0.3,0, col="blue") #Third line added

plot(seq(1:10),A, main="Plot 2")
abline(0.7,0, col="green") #Second line added
abline(-0.5,0, col="purple") #Fourth line added
我需要做的是在开始时执行两个plot命令,然后按照红、绿、蓝、紫的顺序执行4行的加法。即,在顶部研究中添加一行,在底部研究中添加一行,当新数据出现时,两项研究交替进行。也就是说,我希望代码的执行方式如下:

plot(seq(1:10),A, main="Plot 1")
plot(seq(1:10),A, main="Plot 2")
#Wait awhile
abline(1.2,0, col="red") #First line added
abline(0.7,0, col="green") #Second line added
#Wait awhile
abline(-0.3,0, col="blue") #Third line added
abline(-0.5,0, col="purple") #Fourth line added

我应该如何在R中做到这一点,希望使用plot而不是更深奥的plot库。

最简单的方法是每次重新创建整个plot。创建两个绘图,然后在收到第一个附加数据时,重新绘制第一个绘图并添加线,然后重新绘制第二个绘图并重新绘制线。当更多数据输入时:重新绘制第一个绘图添加第一行,添加第二行


如果您确实坚持不重新绘制绘图,那么您可以使用类似于
par1的方法绘制第一个绘图并保存图形选项查看
par()函数的
mfg
参数。例如:

par(mfrow=c(2,1))

plot( 1:10, 1:10 )
par1 <- par(no.readonly=TRUE)

plot( 101:110, 110:101 )
par2 <- par(no.readonly=TRUE)

par(par1)
par(mfg=c(1,1))
abline(h=5)

par(par2)
par(mfg=c(2,1))
abline(h=105)
A <- sample(seq(from=-2, to=2, by=0.1), size=10, replace=TRUE)

par(mfrow=c(2, 1))
plot(seq(1:10), A, main="Plot 1") 
    abline(1.2, 0, col="red")
plot(seq(1:10), A, main="Plot 2") 
    abline(0.7, 0, col="green") 

par(mfg=c(1, 1))
    abline(-0.3, 0, col="blue")

par(mfg=c(2, 1))
    abline(-0.5, 0, col="purple")

A谢谢。这看起来像是我希望走的路。当我完全完成绘图时,我可能会前后翻转1000次,所以它需要非常简单的东西。这很合算。