【发布时间】:2010-09-01 14:00:20
【问题描述】:
我正在为 gedit 使用 rgedit 插件。
我希望一次显示多个图形(绘图)窗口。目前,每当我plot() 时,绘图都会覆盖之前的绘图窗口。
【问题讨论】:
我正在为 gedit 使用 rgedit 插件。
我希望一次显示多个图形(绘图)窗口。目前,每当我plot() 时,绘图都会覆盖之前的绘图窗口。
【问题讨论】:
不是gedit 问题,而是通用 R 功能——使用x11()(或windows())创建新的绘图设备。
然后您可以使用dev.set() 等在它们之间切换。
【讨论】:
myplot(...),在调用plot() 之前调用dev.new(),并使用其余参数。
只是为了补充 Dirk 的答案,您还可以在同一窗口中绘制多个图形,查看 ?par,特别是 mfrow 参数
例如,par(mfrow=c(2,2)) 将为您的绘图提供 2x2 布局。
有关更复杂的布局,请参阅 ?split.screen 和 ?layout
要在设备之间切换,您可以:
# Create 3 plots
dev.new() # Or X11()
dev.1 <- as.integer(dev.cur())
dev.new()
dev.2 <- as.integer(dev.cur())
dev.new()
dev.3 <- as.integer(dev.cur())
x <- seq(1, 100, 0.1)
# Switch to device 1
dev.set(dev.1)
plot(x, sin(x), "l")
# Switch to device 3
dev.set(dev.3)
plot(x, cos(x), "l")
# Add something to graph #1
dev.set(dev.1)
points(x, cos(x), "l", col="red")
请注意,尽管您存储在 dev.1、dev.2 和 dev.3 中的设备编号大多是连续的 (1,2,3),但您应该始终使用 dev.cur 来获取设备,因为您不能安全地假设它们将恰好是 1、2、3 等...(您可能打开了其他设备)
【讨论】:
或者您可以打开一个新的控制台选项卡,但这并不像 Dirk 和 nico 提出的建议那样优雅(您必须提交两次代码)。
【讨论】: