R 语言中的 3D 绘图用于添加标题、更改查看方向以及为绘图添加颜色和阴影。 persp() 函数,用于在透视图中创建 3D 曲面。此函数将在 x-y 平面上绘制曲面的透视图。persp()
is 定义为泛型函数。此外,它可用于在 3D 绘图上叠加额外的图形元素,通过lines()
或者points()
,使用函数trans3d()
。
用法: persp(x, y, z)
参数:此函数接受不同的参数,即 x、y 和 z,其中 x 和 y 是定义沿 x 轴和 y 轴的位置的向量。 z 轴将是矩阵 z 中表面的高度。
返回值:persp() 返回用于使用齐次 4D 坐标 (x, y, z, t) 将 3D 坐标 (x, y, z) 投影到 2D 平面的视图变换矩阵。
示例 1:简单的正圆锥
# To illustrate simple right circular cone
cone <- function(x, y){
sqrt(x ^ 2 + y ^ 2)
}
# prepare variables.
x <- y <- seq(-1, 1, length = 30)
z <- outer(x, y, cone)
# plot the 3D surface
persp(x, y, z)
输出:
- 在上面的代码中,函数
seq()
生成等距数字的向量。 - 的
outer()
函数在 x 和 y 的每个组合上应用函数锥。
示例 2:向绘图添加标题和标记轴
# Adding Titles and Labeling Axes to Plot
cone <- function(x, y){
sqrt(x ^ 2 + y ^ 2)
}
# prepare variables.
x <- y <- seq(-1, 1, length = 30)
z <- outer(x, y, cone)
# plot the 3D surface
# Adding Titles and Labeling Axes to Plot
persp(x, y, z,
main="Perspective Plot of a Cone",
zlab = "Height",
theta = 30, phi = 15,
col = "orange", shade = 0.4)
输出:
- 在上面的代码中,可以使用 xlab、ylab 和 zlab 来标记三个轴。
- theta 和 phi 是观察方向。
示例 3:可视化一个简单的 DEM(数字高程模型)
# Visualizing a simple DEM model
z <- 2 * volcano # Exaggerate the relief
x <- 10 * (1:nrow(z)) # 10 meter spacing (S to N)
y <- 10 * (1:ncol(z)) # 10 meter spacing (E to W)
# Don't draw the grid lines: border = NA
par(bg = "gray")
persp(x, y, z, theta = 135, phi = 30, col = "brown", scale = FALSE,
ltheta = -120, shade = 0.75, border = NA, box = FALSE)
输出:
相关用法
- R语言 plot()用法及代码示例
- R语言 seq()用法及代码示例
- R语言 is.primitive()用法及代码示例
- R语言 dunif()用法及代码示例
- R语言 lapply()用法及代码示例
- R语言 optimize()用法及代码示例
- R语言 lgamma()用法及代码示例
- R语言 digamma()用法及代码示例
- R语言 trigamma()用法及代码示例
- R语言 args()用法及代码示例
注:本文由纯净天空筛选整理自kaurbal1698大神的英文原创作品 Creating 3D Plots in R Programming – persp() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。