【问题标题】:How to add points to two plots parallelly ? (in R)如何将点并行添加到两个地块? (在 R 中)
【发布时间】:2011-12-13 14:07:38
【问题描述】:

我正在寻找将点并行添加到三个不同地块的方法。

我在一个窗口中有三个散点图,分别名为 s3d1s3d2s3d3

layout(matrix(c(1,2,1,3),2, 2, byrow = TRUE))
s3d1<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
s3d2<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
s3d3<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)

如果我尝试给s3d1加点,

s3d1$points3d(mtcars[,3],mtcars[,4],mtcars[,5],col="red")

积分会转到s3d3,但不会转到s3d1。我错过了什么?

更多信息:我在运行程序时获取数据点。因此,当我获得特定于该特定图的数据时,我需要为每个图添加点。

更新:

也试过par()函数

par(fig=c(0,0.65,0,1), new=TRUE)
s3d1<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
par(fig=c(0.7,1,0.5,1), new=TRUE)
s3d2<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
par(fig=c(0,0.65,0,1), new=TRUE)
s3d1$points3d(mtcars[,3],mtcars[,4],mtcars[,5],col="red")

s3d1$points3d 不会将新点添加到 s3d1(甚至不会添加到 s3d2)。有什么想法吗?

【问题讨论】:

    标签: r layout plot scatter-plot par


    【解决方案1】:

    如果您通过尝试执行s3d1$points3d 来查看points3d() 的源代码,您会发现它只是将点添加到假定已经打开的现有绘图中。换句话说,点/绘图不存储在 s3d1,2,3 对象中,而只是绘制到不同视图所需的转换信息。

    Soo,要完成您想做的事情,您只需使用普通的图形设备命令即可。例如,dev.new 将打开一个新的绘图窗口,dev.set 可以在活动窗口之间切换。你可以这样做:

    dev.new(); h1=dev.cur()
    s3d1<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
    dev.new(); h2=dev.cur()
    s3d2<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
    dev.new(); h3=dev.cur()
    s3d3<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
    dev.set(h1)
    s3d1$points3d(mtcars[,3],mtcars[,4],mtcars[,5],col="red")
    

    还可以查看?dev.new 了解更多信息。

    【讨论】:

    • 抱歉,我必须早点通知它:实际上,我正在使用 layout() 在一个窗口中绘制所有三个。因此,使用 dev.new( ) 会打开一个不可取的新窗口
    • 哦……谢谢您的澄清! points3d 调用使用的是最后绘制的单元格,即右下角的单元格。我认为最好的解决方案是从头开始绘制每个周期。祝你好运!
    • @user1029725 是的,我发现layout 在我只需要快速抛出一些情节时最有用。对于更多自定义子图,我一直使用par(mfrow) 等。
    猜你喜欢
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多