R语言 创建3D图 – persp()函数

R语言 创建3D图 – persp()函数

R语言中的3D绘图是用来添加标题,改变观察方向,以及为绘图添加颜色和阴影的。 persp() 函数,它用于在透视视图中创建三维曲面。该函数将在x-y平面上绘制曲面的透视图。persp()被定义为一个通用函数。此外,它还可以通过trans3d()函数,用线()或点()在三维图上叠加其他图形元素。

R编程语言中的persp()函数

语法: persp(x, y, z)

参数: 该函数接受不同的参数,即 x、y和z ,其中x和y是定义沿x轴和y轴的位置的向量,z轴将是矩阵z中的表面高度。

返回值: persp()返回用于将三维坐标(x,y,z)用同质四维坐标(x,y,z,t)投影到二维平面的观察变换矩阵。

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

输出

在R语言编程中创建3D图 - persp函数

在上面的代码中,函数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)

输出

在R语言编程中创建3D图 - persp函数

在上述代码中,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语言编程中创建3D图 - persp函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程