赞
踩
专注系列化、高质量的R语言教程
plot3D
可以视作基础包graphcis
的拓展包,用于多维数据的图形绘制。基础绘图系统里好像只有一个persp()
函数与三维绘图有关,关于该函数的介绍见如下推文:
基础绘图系统(九)——栅格图、点密度图、等高线(填充)图、三维图
plot3D
包的作者写道:“很多函数都源自persp()
函数,另外一些函数来自image
和contour()
”。
本篇目录如下:
1 三维散点图
1.1 scatter3D函数
1.2 points3D和lines3D函数
1.3 scatter2D函数
2 栅格图
2.1 image2D函数
2.2 image3D函数
3 透视图
3.1 persp3D函数
3.2 ribbon3D函数
library(plot3D)
scatter3D()
函数可以帮助我们绘制三维散点图。以下是scatter3D()
函数的一个简单例子:
- set.seed(1126)
- x <- runif(60)[1:20]
- y <- runif(60)[21:40]
- z <- runif(60)[41:60]
-
- scatter3D(x, y, z)
该函数还有许多参数,完整语法结构如下:
- scatter3D (x, y, z, ..., colvar = z, phi = 40, theta = 40,
- col = NULL, NAcol = "white", breaks = NULL,
- colkey = NULL, panel.first = NULL,
- clim = NULL, clab = NULL,
- bty = "b", CI = NULL, surf = NULL,
- add = FALSE, plot = TRUE)
x、y、z:坐标参数;向量结构,长度必须相同;
colvar:映射颜色的变量;默认与z
参数相同,如自定义须与坐标参数长度相同;
col:colvar
所映射的颜色带;默认见上示例,自定义见jet.col()
等函数帮助文档;
NAcol:colvar
中缺失值所映射的颜色;
phi、theta:俯视角度、x-y平面旋转角度,同persp()
函数;默认值均为40;
clim:colvar
中用于映射颜色的变量范围,范围以外按缺失值处理。
- scatter3D(x, y, z, colvar = z, col = gg.col(100),
- clim = c(0, 0.5), NAcol = "red")
breaks:颜色离散化的分位点;
colkey:图例的参数列表,详见colkey()
函数;
clab:图例标题。
- scatter3D(x, y, z, breaks = seq(0, 1, length.out = 5),
- colkey = list(side = 2, width = 0.5, lwd.ticks = 0.1,
- family = "mono"),
- clab = "颜色")
...:继承persp()
和perspbox()
函数的参数,详见函数帮助文档。
除此之外,因为plot3D
是基础绘图系统的拓展包,par()
函数的参数也能使用。
- par(family = "mono")
- scatter3D(x, y, z, ticktype = "detailed")
散点可以连成线。像基础绘图系统的plot()
函数一样,scatter3D()
函数也可以使用type
参数设置不同的连线方式。
- par(mfrow = c(2,2))
- par(plt = c(0.05,0.85,0.05,0.95))
- scatter3D(x, y, z, type = "p")
- par(plt = c(0.1,0.9,0.05,0.95))
- scatter3D(x, y, z, type = "l")
- par(plt = c(0.05,0.85,0.05,0.95))
- scatter3D(x, y, z, type = "o")
- par(plt = c(0.1,0.9,0.05,0.95))
- scatter3D(x, y, z, type = "h")
points3D()
和lines3D()
函数分别是type = p
和type = "l"
时的快捷函数。
- par(mfrow = c(1,2))
- par(plt = c(0.05,0.85,0.05,0.95))
- points3D(x, y, z)
- par(plt = c(0.1,0.9,0.05,0.95))
- lines3D(x, y, z)
scatter2D()
函数是scatter3D()
函数的二维形式,没有z
参数,但是colvar
参数仍然能反映第三维属性值。
scatter2D(x, y, colvar = z, pch = 19)
points2D()
和lines2D()
函数同理。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。