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



文章目录

          • 一. 数据集及函数
          • 二.参数说明
            • 2.1 数据类型
            • 2.2 旋转角度
            • 2.3 背景方框
            • 2.4 修改颜色
            • 2.5 设置图例
            • 2.6 数值范围
            • 2.7 深度
            • 2.9 其他参数
          • 三.将三维图形与二维图像融合


一. 数据集及函数

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)

R语言:Plot3D包绘制3D等高线图像_第1张图片

如果x与y均为向量,向量长度必须与colvar内的矩阵相同。

如下所示


x = 1:nrow(colvar)
y = 1:ncol(colvar)

2.2 旋转角度

theta, phi

theta = 30 # 旋转观看角度

定义观看方向的角度。

theta横向旋转图形观看,phi表示纵向旋转图形观看。

从左至右:原图 theta=180 phi=180

R语言:Plot3D包绘制3D等高线图像_第2张图片

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")

类型有多种 如

R语言:Plot3D包绘制3D等高线图像_第3张图片


bty 图形
f 全方框
b 后面板
b2 后面板+网格
g 网格
bl 后面板+黑色背景
bl2 网格+黑色背景
u 用户手动调整
n 无边框

2.4 修改颜色

colvar

该变量设置用于为图像添加颜色,如果设置为空值,将不会生成图像。


col

col用于colvar变量。

如果col为NULL而我们输入了colvar参数,那么将使用红黄蓝配色方案。

R语言:Plot3D包绘制3D等高线图像_第4张图片

如果col为NULL且未输入colvar参数,则col将为黑色。

我们可以调整该值,从而调整图形的颜色。

contour3D( z = volcano,colvar = volcano,col="grey")

R语言:Plot3D包绘制3D等高线图像_第5张图片


2.5 设置图例

colkey

图例参数;输入 布尔类型 或 带参数的列表

colkey = FALSE # 去除图例
colkey = TRUE # 添加图例
# 自定义图例 数值范围从90-190 
colkey = list(at = seq(90, 190, length.out = 5))

clab

图例的标签,需要图例存在才能生效。

默认写在图例的顶部,与主标题相同的水平。

要降低它,可以将clab设置为一个向量,其中第一个值为空字符串。

 clab = c("", "label")

R语言:Plot3D包绘制3D等高线图像_第6张图片


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")

R语言:Plot3D包绘制3D等高线图像_第7张图片


2.9 其他参数

lwd: 画笔的宽度

R语言:Plot3D包绘制3D等高线图像_第8张图片

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)

R语言:Plot3D包绘制3D等高线图像_第9张图片

你可能感兴趣的:(数据分析,r语言,3d,开发语言,数据分析)