如果我用par(mfrow=...)创建了一个多绘图窗口,是否可以将数据发送到特定的绘图(即“左下角的那个”),或者绘图总是必须按顺序进行?有没有R的包可以做这样的事情?
对于那些感兴趣的人来说,这个问题是因为R是单线程应用程序,对于实时可视化来说并不理想。我有多个实时数据流从一个异步产生数据的外部源进入R(因此数据流并不总是以相同的顺序出现)。这导致R在每次更新时围绕数据可视化绘图的顺序进行翻转。
发布于 2010-07-01 00:31:21
您可以使用split.screen()
par(bg = "white") # erase.screen() will appear not to work
# if the background color is transparent
# (as it is by default on most devices).
split.screen(c(2,1)) # split display into two screens
split.screen(c(1,3), screen = 2) # now split the bottom half into 3
screen(1) # prepare screen 1 for output
plot(10:1)
screen(4) # prepare screen 4 for output
plot(10:1)发布于 2010-07-01 00:28:56
看看help(layout)吧。这允许您指定内容、位置和大小。
一旦绘制出来,我不认为你只是部分地重新绘制。但是,您可以使用dev.set()等人在不同的“绘图设备”(即窗口)之间切换;参见help(dev.list)。
发布于 2013-07-03 19:08:05
请注意,这里建议的答案是使用split.screen()。这可能是可行的,但根据split.screen帮助文件:“建议使用这些功能的方式是,在选择并在另一个屏幕上绘图之前,完全绘制一个绘图以及对基本绘图的所有添加内容(即点和线)。返回屏幕添加到现有绘图的相关行为是不可预测的,可能会导致不易察觉的问题。”
在回答我的问题时,有一个更有用的解决方案,使用par(mfg)选项:
https://stackoverflow.com/questions/3151207
复制相似问题