R 如何将点平行添加到两个绘图中?(右)

R 如何将点平行添加到两个绘图中?(右),r,layout,plot,scatter-plot,par,R,Layout,Plot,Scatter Plot,Par,我正在寻找在三个不同的地块上同时添加点的方法 我在一个窗口中有三个散点图,分别命名为s3d1、s3d2和s3d3 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"

我正在寻找在三个不同的地块上同时添加点的方法

我在一个窗口中有三个散点图,分别命名为
s3d1
s3d2
s3d3

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)
这些点将转到
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")
par(图=c(0,0.65,0,1),新=TRUE)

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

苏,要做你想做的事,你只需要使用普通的图形设备命令。例如,
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();h1=开发电流()

S3d1抱歉,我必须提前通知它:实际上,我正在使用layout()在一个窗口中绘制所有三个。因此,使用dev.new()会打开一个不需要的新窗口。谢谢您的澄清!
points3d
调用使用最后绘制的单元格,即右下角的单元格。我认为最好的解决办法是从头开始绘制每个周期。祝你好运@user1029725是的,我发现当我只需要快速绘制一些图时,
布局
最有用。对于更多自定义子批次,我总是使用
par(mfrow)
等。。
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")