• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

R语言Plot3D包绘制3D等高线图像

武飞扬头像
这也是计划的一部分
帮助1




一. 数据集及函数

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
系列文章
更多 icon
同类精品
更多 icon
继续加载