R 语言提供了许多用于创建三维绘图的函数。在本节中,我们将讨论 `persp()` 函数,该函数可用于创建透视视图中的三维表面。
该函数主要接收三个变量:`x`、`y` 和 `z`,其中 `x` 和 `y` 是定义 x 轴和 y 轴位置的向量。曲面高度(z 轴)将在矩阵 `z` 中。例如,
让我们绘制一个圆锥体。可以使用以下函数获得一个简单的直圆锥体。
cone <- function(x, y){
sqrt(x^2+y^2)
}
现在我们准备好变量。
x <- y <- seq(-1, 1, length= 20)
z <- outer(x, y, cone)
我们使用 `seq()` 函数生成等间隔数字的向量。
然后,我们使用 `outer()` 函数将 `cone` 函数应用于 `x` 和 `y` 的每个组合。
最后,按如下方式绘制三维曲面。
persp(x, y, z)
为图形添加标题和轴标签
我们可以使用 `main` 参数为图形添加标题。
同样,可以使用 `xlab`、`ylab` 和 `zlab` 为三个轴添加标签。
旋转角度
我们可以使用 `theta` 和 `phi` 参数定义视角。
默认情况下,`theta`(方位角方向)为 0,`phi`(天顶角方向)为 15。
为图形着色和添加阴影
图形的着色通过 `col` 参数完成。
同样,我们可以使用 `shade` 参数添加阴影。
persp(x, y, z,
main="Perspective Plot of a Cone",
zlab = "Height",
theta = 30, phi = 15,
col = "springgreen", shade = 0.5)