当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R语言 persp()用法及代码示例


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)

输出:




相关用法


注:本文由纯净天空筛选整理自kaurbal1698大神的英文原创作品 Creating 3D Plots in R Programming – persp() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。