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)
输出 。
使用’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)
输出 。
使用类型’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))
输出 。
使用’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)
输出 。