R语言Plot3D包绘制3D等高线图像
一. 数据集及函数
volcano: 沃特卡诺莫恩加沃(伊登山)是奥克兰火山区内约50座火山之一。该数据集在10米乘10米的网格上提供了相应的地形信息。
data("volcano")
contour3D (x = NULL, y = NULL, z = NULL,
..., colvar = NULL, phi = 40, theta = 40,
col = NULL, colkey = NULL,
panel.first = NULL, clim = NULL, clab = NULL, bty = "b",
dDepth = 1e-1, addbox = TRUE, add = FALSE, plot = TRUE)
接下来通过对参数的设置来介绍该绘图方法的使用。
二.参数说明
2.1 数据类型
x,y,z
输入二维矩阵 向量或常数,它们的值将决定图像的绘制位置
如果z坐标为常数,则绘制平行于x-y平面的二维图形,其他两个坐标同理。
contour3D(x = r, y = c, z = 100, colvar = volcano, zlim = c(0, 150),
clab = c("height", "m"),colkey = FALSE)
如果x与y均为向量,向量长度必须与colvar内的矩阵相同。
如下所示
x = 1:nrow(colvar)
y = 1:ncol(colvar)
2.2 旋转角度
theta, phi
theta = 30 # 旋转观看角度
定义观看方向的角度。
theta横向旋转图形观看,phi表示纵向旋转图形观看。
从左至右:原图 theta=180 phi=180
2.3 背景方框
bty
框的类型,默认只绘制背景面板。
contour3D(x = r, y = c, z = volcano, colvar = volcano,
clab = c("", "m"),colkey =FALSE,bty="f")
contour3D(x = r, y = c, z = volcano, colvar = volcano,
clab = c("", "m"),colkey =FALSE,bty="b")
contour3D(x = r, y = c, z = volcano, colvar = volcano,
clab = c("", "m"),colkey =FALSE,bty="b2")
contour3D(x = r, y = c, z = volcano, colvar = volcano,
clab = c("", "m"),colkey =FALSE,bty="g")
contour3D(x = r, y = c, z = volcano, colvar = volcano,
clab = c("", "m"),colkey =FALSE,bty="bl")
contour3D(x = r, y = c, z = volcano, colvar = volcano,
clab = c("", "m"),colkey =FALSE,bty="bl2")
contour3D(x = r, y = c, z = volcano, colvar = volcano,
clab = c("", "m"),colkey =FALSE,bty="u")
contour3D(x = r, y = c, z = volcano, colvar = volcano,
clab = c("", "m"),colkey =FALSE,bty="n")
类型有多种 如
bty | 图形 |
---|---|
f | 全方框 |
b | 后面板 |
b2 | 后面板 网格 |
g | 网格 |
bl | 后面板 黑色背景 |
bl2 | 网格 黑色背景 |
u | 用户手动调整 |
n | 无边框 |
2.4 修改颜色
colvar
该变量设置用于为图像添加颜色,如果设置为空值,将不会生成图像。
col
col用于colvar变量。
如果col为NULL而我们输入了colvar参数,那么将使用红黄蓝配色方案。
如果col为NULL且未输入colvar参数,则col将为黑色。
我们可以调整该值,从而调整图形的颜色。
contour3D( z = volcano,colvar = volcano,col="grey")
2.5 设置图例
colkey
图例参数;输入 布尔类型 或 带参数的列表
colkey = FALSE # 去除图例
colkey = TRUE # 添加图例
# 自定义图例 数值范围从90-190
colkey = list(at = seq(90, 190, length.out = 5))
clab
图例的标签,需要图例存在才能生效。
默认写在图例的顶部,与主标题相同的水平。
要降低它,可以将clab设置为一个向量,其中第一个值为空字符串。
clab = c("", "label")
2.6 数值范围
xlim ylim zlim
控制变量的范围
zlim=c(0,100)
2.7 深度
dDepth
图形间会相互遮挡,调整观察图像的深度,从而观察那些被遮挡的图形细节。
par (mfrow = c(1, 3))
persp3D(z = volcano, col = "white", shade = 0.1, plot = FALSE)
contour3D(z = volcano, colvar = volcano, lwd = 2,
add = TRUE, dDepth = 0, col = "black")
# default
persp3D(z = volcano, col = "white", shade = 0.1, plot = FALSE)
contour3D(z = volcano, colvar = volcano, lwd = 2,
add = TRUE, dDepth = 0.1, col = "black")
# too high
persp3D(z = volcano, col = "white", shade = 0.1, plot = FALSE)
contour3D(z = volcano, colvar = volcano, lwd = 1,
add = TRUE, dDepth = 0.5, col = "black")
2.9 其他参数
lwd: 画笔的宽度
add
如果为TRUE,则新图形将被添加到当前的plot中。
如果为FALSE,则在新的plot画布上进行绘制。
三.将三维图形与二维图像融合
par (mfrow = c(1, 1))
persp3D(z = volcano, zlim = c(90, 300), col = "white",
shade = 0.1, d = 2, plot = FALSE)
contour3D(z = volcano, colvar = volcano, lwd = 2, add = TRUE,
nlevels = 20, clab = c("height", "m"), plot = FALSE,
colkey = list(at = seq(90, 190, length.out = 5)))
contour3D(z = 300, colvar = volcano, lwd = 2, col = "grey",
add = TRUE, nlevels = 5)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhficgkh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13