散点图和散点图矩阵展示的都是二元变量关系,如果我们想一次性对三个定量变量的交互关系进行可视化,可以使用scatterplot3d()函数绘制三维散点图,格式如下:
scatterplot3d(x,y,z)
其中,x被绘制在水平轴上,y被绘制在竖直轴上,z被绘制在透视轴上。
例子:我们对汽车英里数、车重和排量间的关系感兴趣,可使用如下代码:
> library(scatterplot3d)
> attach(mtcars)
> scatterplot3d(wt,disp,mpg,main = "Basic 3D Scatter Plot")
scatterplot3d()函数提供了许多选项,包括设置图形符号、轴、颜色、线条、网格线、突出显示和角度等功能。下面的代码会生成一幅突出显示效果的三维散点图,增强了纵深感,添加了连接点与水平面的垂直线。代码如下:
>library(scatterplot3d)
>attach(mtcars)
>scatterplot3d(wt,disp,mpg,pch=16,highlight.3d=TRUE,type="h",main = "Basic 3D Scatter Plot")
如果能对三维散点图进行交互式操作,那么图形将会更好地解释。R语言提供了一些旋转图形的功能,可以从多角度观测绘制的数据点。rgl包中的plot3d()函数可以创建交互的三维散点图,并且可以通过鼠标对图形进行旋转,格式如下:
plot3d(x,y,z)
其中,x、y和z是数值型向量,代表着各个点,还可以添加col和size选项来分别控制点的颜色和大小,例如:
>library(rgl)
>attach(mtcars)
>plot3d(wt, disp, mpg, col="red", size=5)