一. 数据集及函数
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画布上进行绘制。文章来源:https://www.toymoban.com/news/detail-456651.html
三.将三维图形与二维图像融合
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)
文章来源地址https://www.toymoban.com/news/detail-456651.html
到了这里,关于R语言:Plot3D包绘制3D等高线图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!