plot3D | 三维数据绘图(1):散点图、栅格图、透视图
创始人
2024-02-21 17:44:47
0

专注系列化高质量的R语言教程

推文索引 | 联系小编 | 付费合集


plot3D可以视作基础包graphcis的拓展包,用于多维数据的图形绘制。基础绘图系统里好像只有一个persp()函数与三维绘图有关,关于该函数的介绍见如下推文:

基础绘图系统(九)——栅格图、点密度图、等高线(填充)图、三维图

plot3D包的作者写道:“很多函数都源自persp()函数,另外一些函数来自imagecontour()”。

本篇目录如下:

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

1 三维散点图

1.1 scatter3D函数

scatter3D()函数可以帮助我们绘制三维散点图。以下是scatter3D()函数的一个简单例子:

set.seed(1126)
x <- runif(60)[1:20]
y <- runif(60)[21:40]
z <- runif(60)[41:60]scatter3D(x, y, z)
072cef48963e31a4b8480a55d0eca7a3.png

该函数还有许多参数,完整语法结构如下:

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")
cc1104198b645447f113d79c0449667d.png
  • 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 = "颜色")
b7acd309801cee9454396109a7ea0be4.png
  • ...:继承persp()perspbox()函数的参数,详见函数帮助文档。

除此之外,因为plot3D是基础绘图系统的拓展包,par()函数的参数也能使用。

par(family = "mono")
scatter3D(x, y, z, ticktype = "detailed")
d073b4f460a6bfa0900fb00c81c14da0.png

1.2 points3D和lines3D函数

散点可以连成线。像基础绘图系统的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")
ecf8d92f14778a6e565dfdc231908a49.png

points3D()lines3D()函数分别是type = ptype = "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)
585a37ea2515e62fad254a74ffe3ad79.png

1.3 scatter2D函数

scatter2D()函数是scatter3D()函数的二维形式,没有z参数,但是colvar参数仍然能反映第三维属性值。

scatter2D(x, y, colvar = z, pch = 19)
e0f4ef0bae43a30cbb72f707cf440273.png

points2D()lines2D()函数同理。

2 栅格图

相关内容

热门资讯

《青海省动物防疫条例》2026... 人民网西宁12月29日电 (记者杨启红)记者从青海省人大常委会办公厅召开的新闻发布会获悉,《青海省动...
资讯 | 我所朱少尉律师受邀参... 文 | 袁 晟 ★全文字数共有1210字 | 预计阅读时间为5分钟★ 12月20日,由新则与重庆坤...
警方集中打击《征途》私服黑灰产... 12月29日,澎湃新闻记者获悉,在公安部“净网2025”专项行动统一部署下,巨人网络今年针对《征途》...
资讯 | 青年律师的三重修炼:... 以下文章来源于新则 ,作者新则 新则. 探索法律行业新规则 面对不确定性成为常态的职业环境,...
国信证券:企业年金政策将合规执... 证券之星消息,国信证券(002736)12月29日在投资者关系平台上答复投资者关心的问题。 投资者提...
灵宝综治中心调解一起跨度近两年... 大象新闻记者 许继彬 通讯员 王建敏 李婕霄 校园安全无小事,少年成长总关情。孩子在校园内的意外磕碰...
著名经济学家魏杰:“十五五”时... 封面新闻记者 欧阳宏宇 “推动制度型开放,形成高质量的开放新格局,是“十五五”时期开放的重点。”12...
子洲县市场监管局举办法律法规专... 12月24日,子洲县市场监督管理局举办法律法规专题培训会,邀请子洲县人民法院法官王斐、钟鹏程作专题授...
董毅智律师:小红书沦为诈骗“温... 12月23日,丽江市古城区文化和旅游局采取一项公开举措,向小红书平台发出公函,指出其未能有效履行平台...
衡水办学神话破灭!原因“政策”... 衡水办学神话破灭!原因“政策”! 撰文|@渤海公子 最近有一张图,很有意思。 它没被大肆转发,却在很...