首页 > 解决方案 > 绘制一个曲面并使用 R 在其上添加点:plot3D 的问题

问题描述

我正在尝试在 R 上绘制 3D 曲面,并在该曲面上添加点。我使用包 plot3D,它可以生成漂亮的 3D 图,我使用以下代码定义和绘制我的曲面:

M <- mesh(seq(-3, 3, length.out = 50),seq(-3, 3, length.out = 50))
u <- M$x ; v <- M$y
x <- u
y <- v
z <- u^2-v^2
surf3D(x, y, z, colvar = z, colkey = TRUE, box = FALSE, bty = "b", phi = 30, theta = 140)

我得到这张照片:漂亮的绘图表面

然后,我想添加随机生成的点:

xx=rnorm(10,1,1)
yy=rnorm(10,0,1)
zz=xx^2-yy^2

points3D(xx,yy,zz,colvar=zz,add=TRUE,pch=20,cex=0.5,col="black")

在添加点之前,它首先以一种奇怪的方式恶化了我的初始图片,如下图所示(花了很长时间,所以我没有等到 10 个点甚至出现):Deteriorated surface

有谁明白为什么这些点只是简单地添加到初始图片中(以及为什么更新情节需要超过 5 分钟)?

标签: rplot3d

解决方案


推荐阅读