R语言 如何用R中的rgl包为鸢尾花数据集创建三维图

R语言 如何用R中的rgl包为鸢尾花数据集创建三维图

在R编程中,rgl()包被用来将数据集在三维空间中可视化。它包含许多三维绘图函数,其中最广泛用于绘制三维图形的函数包括plot3d(), bgplot3d(), open3d(), planes3d(), points3d() 等。这里提到的每个包都有特定的用法,但为了对给定的数据集进行散点图绘制,我们使用rgl包中的plot3d()函数。

鸢尾花数据集是R语言中的一个内置数据集,它使R语言程序员无需明确地将其加载到R语言工作区,它包含五列/字段,即Sepal.Length、Sepal.Width、Petal.Length、Petal.Width和Species。

语法: plot3d(x, y, z, xlab, ylab, zlab, type, col, add, size, radius, aspect,….)

  • x, y, z – 要在x轴、y轴和z轴上分别绘制的点的向量。
  • xlab, ylab, zlab – 用于在绘制的图形中显示旁边的坐标的名称/标签。
  • type – 用于定义我们想要可视化的散点的类型,比如’s’ – 用于球体,’l’ – 用于线,’p’ – 用于点(默认),’h’ – 用于线段
  • col – 用于定义每个向量或整个图形的颜色(默认=黑色
  • add – 用于限制向现有绘图添加点的权限(默认=True)。
  • size – 用于设置绘图点的大小
  • radius – 用来设置球体的半径
  • aspect – 用来调整图形的长宽比。

安装和加载库

为了开始编写代码,我们需要安装和加载rgl库。为此,运行下面的命令。

# install required package
install.packages('rgl')
# load that install package
library(rgl)

加载数据集

一旦我们加载了这个库,现在我们也可以加载内置的虹膜数据集。

# load iris dataset
data(iris)

现在我们可以使用plot3D函数开始三维可视化。

使用 “p “类型

在这个绘图中,我们将使用 type = p ,这意味着该绘图以点的形式定位数据集。

# plot 1
rgl::plot3d(irisSpecies,irisSepal.Length,iris$iris.Width,
            xlab="Species",ylab="Sepal.Length",zlab="Sepal.Width",
            type='p',col=c('red','blue','green'),aspect=c(1,1,1),size=5)

输出

如何用R中的rgl包为鸢尾花数据集创建三维图?

使用’s’类型

现在,让我们看看 类型-s 的绘图,这意味着球体。在这种情况下,我们需要添加一个新的参数radius,以指定球体的半径。

# plot 2
rgl::plot3d(irisSpecies,irisSepal.Length,iris$iris.Width,
            xlab="Species",ylab="Sepal.Length",zlab="Sepal.Width",
            type='s',col=c('red','blue','green'),aspect=c(1,1,1),radius=4)

输出

如何用R中的rgl包为鸢尾花数据集创建三维图?

使用类型’l’

让我们看看 type = l 的情况,它意味着线。绘图将自动以线的形式连接那些具有三维性质的点。

# plot 3
rgl::plot3d(irisSpecies,irisSepal.Length,iris$iris.Width,
            xlab="Species",ylab="Sepal.Length",zlab="Sepal.Width",
            type='l',col=c('red','blue','green'),aspect=c(1,1,1))

输出

如何用R中的rgl包为鸢尾花数据集创建三维图?

使用’h’型

让我们看看 类型=h 的情况 它意味着线段。该图将形成三维性质的线段。

# plot 4
rgl::plot3d(irisSpecies,irisSepal.Length,iris$iris.Width,
            xlab="Species",ylab="Sepal.Length",zlab="Sepal.Width",
            type='h',col=c('red','blue','green'),aspect=c(1,1,1),radius=4)

输出

如何用R中的rgl包为鸢尾花数据集创建三维图?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程