【问题标题】:show multiple R graphics windows in (r)gedit在 (r)gedit 中显示多个 R 图形窗口
【发布时间】:2010-09-01 14:00:20
【问题描述】:

我正在为 gedit 使用 rgedit 插件。 我希望一次显示多个图形(绘图)窗口。目前,每当我plot() 时,绘图都会覆盖之前的绘图窗口。

【问题讨论】:

    标签: r plot gedit


    【解决方案1】:

    不是gedit 问题,而是通用 R 功能——使用x11()(或windows())创建新的绘图设备。

    然后您可以使用dev.set() 等在它们之间切换。

    【讨论】:

    • 我可以将它设置为自动完成而不是每次手动完成吗?
    • 当然。您可以编写自己的函数myplot(...),在调用plot() 之前调用dev.new(),并使用其余参数。
    【解决方案2】:

    只是为了补充 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.1dev.2dev.3 中的设备编号大多是连续的 (1,2,3),但您应该始终使用 dev.cur 来获取设备,因为您不能安全地假设它们将恰好是 1、2、3 等...(您可能打开了其他设备)

    【讨论】:

      【解决方案3】:

      或者您可以打开一个新的控制台选项卡,但这并不像 Dirk 和 nico 提出的建议那样优雅(您必须提交两次代码)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-14
        • 1970-01-01
        • 2012-12-16
        相关资源
        最近更新 更多