替换R的par()函数下的绘图
应该有一个简单的方法来解决这个问题,但我不知道。我正在用R的子图函数(即25个图)绘制多个图。在绘制了10个图之后,例如,我对第11个图做了一些错误,现在如果我想使用替换R的par()函数下的绘图,r,par,R,Par,应该有一个简单的方法来解决这个问题,但我不知道。我正在用R的子图函数(即25个图)绘制多个图。在绘制了10个图之后,例如,我对第11个图做了一些错误,现在如果我想使用plot函数再次绘制它,它会占用第12个子图的空间,这意味着整个子图结构会发生变化。我知道par(new=TRUE)会让我在第11幅图的顶部重新绘制,但是如果修改后的图差异太大以至于重叠不起作用,该怎么办?我们的想法是删除第11个数字,然后重新绘制。在绘制完所有25个图形后,是否可以更改第一个绘图???可以使用屏幕函数系列,尽管我承
plot
函数再次绘制它,它会占用第12个子图的空间,这意味着整个子图结构会发生变化。我知道par(new=TRUE)
会让我在第11幅图的顶部重新绘制,但是如果修改后的图差异太大以至于重叠不起作用,该怎么办?我们的想法是删除第11个数字,然后重新绘制。在绘制完所有25个图形后,是否可以更改第一个绘图???可以使用屏幕
函数系列,尽管我承认我不是这些函数的爱好者。正如您所希望的,它只能用于排除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=“…”)
和dev.off()
)中夹东西)买主注意事项 基本图形是加法的。这意味着一旦绘制了某个对象,除非删除整个设备,否则无法将其取消绘制。我想你可以在上一个图上画白色的矩形,但从技术上讲,没有“擦除”它。你是“手工”绘制25个图吗?你不是在用脚本吗?只需创建一个脚本,以par(new=TRUE)
开始绘制25个绘图,然后您可以随意重新运行脚本,直到获得所需的结果。