应该有一个简单的方法来处理这个问题,但我不知道。我正在使用par(mfrow=c(5,5))
R 的 subplot 函数绘制多个数字(即 25 个数字)。例如,在绘制 10 个数字后,我对第 11 个图做错了,现在如果我想使用plot
函数再次绘制它,它会占用第 12 个子图的空间,这意味着整个子图结构会发生变化。我知道这par(new=TRUE)
会让我在第 11 个图形的顶部重新绘制,但是如果修改后的情节如此不同以至于重叠不起作用怎么办?这个想法是删除第 11 个图形,然后重新绘制它。在绘制所有 25 个数字后更改第一个图怎么样?
问问题
946 次
1 回答
0
可以使用screen
函数系列,尽管我承认不是它们的爱好者。正如您所希望的那样,它只能用于排除par(mfrow=c(5.5))
或什至layout(...)
.
话虽如此,在屏幕上重绘是完全可能的。为实例:
split.screen(c(5,5))
for (scr in 1:25) {
screen(scr)
par(mar=rep(0,4)+0.1)
plot(0)
}
screen(7)
par(bg='white') # necessary for some display types
erase.screen()
plot(2)
(这当然不是一个漂亮的例子,但它很实用。)
注意背景颜色 ( bg
) 的显式设置为白色;对于某些假定透明的显示器,不这样做似乎没有任何影响(即,erase.screen()
什么也不做)。
话虽如此,有许多现代和近现代的图形函数/库/包可以做这个包不支持的事情。我没有使用图像捕获机制(例如将东西夹在png(file="...")
and中dev.off()
)对此进行测试。警告购买者!
于 2014-09-29T06:23:03.230 回答