3dscatter

1.ggplot2画三维点图

很轻松找到了R包,然鹅不是很完美的样子。

#devtools::install_github("AckerDWM/gg3D")library("gg3D")
library(ggplot2)data(iris)
ggplot(iris, aes(x=Petal.Width, y=Sepal.Width, z=Petal.Length, color=Species)) + theme_void() +axes_3D() +stat_3D()

2.scatterplot3d

一个不属于ggplot2体系的特立独行的R包,画起来还算简单。

参数pch表示形状,不同形状可以以数字1-24来代表。颜色的指定不支持映射,只能是把每个点的颜色设置好,传递给color参数。图例需要单独画,不能自动生成,但最终出土的颜值我还是喜欢的。sthda上面也有关于这个包的漂亮代码: http://www.sthda.com/english/wiki/scatterplot3d-3d-graphics-r-software-and-data-visualization

#install.packages("scatterplot3d")
library(scatterplot3d)
my_color = c("#66C2A5FF", "#FC8D62FF", "#8DA0CBFF")colors = my_color[as.numeric(iris$Species)]p1 = scatterplot3d(iris[,1:3],color = colors,main="iris",pch = 16)legend(p1$xyz.convert(8.5, 2.5, 5), legend = levels(iris$Species),col = my_color, pch = 16)

p2 = scatterplot3d(iris[,1:3],color = "black",main="iris",pch = 21,bg = colors)
legend(p2$xyz.convert(8.5, 2.5, 5),col = "black", legend = levels(iris$Species),pt.bg =  my_color, pch = 21)

3.三维PCA图

PCA已经有好几个可视化的R包啦,把前三个主成分提取出来画三维点图也挺好看~

library(FactoMineR)
dat = iris[,1:4]
dat.pca = PCA(dat,graph = F)
a = dat.pca[["ind"]][["coord"]]
p3 = scatterplot3d(a[,1:3],color = "black",main="iris",pch = 21,bg = colors)
legend("bottom",col = "black", legend = levels(iris$Species),pt.bg =  my_color, pch = 21,inset = -0.2, xpd = TRUE, horiz = TRUE)

my_pch = 22:24
pchs = my_pch[as.numeric(iris$Species)]p4 = scatterplot3d(a[,1:3],color = "black",main="iris",pch = pchs,bg = colors)
legend("bottom",col = "black", legend = levels(iris$Species),pt.bg =  my_color, pch = my_pch,inset = -0.2, xpd = TRUE, horiz = TRUE)

三维点图和三维PCA图相关推荐

  1. 在线作图|2分钟绘制三维PCA图

    三维PCA 主成分分析算法(PCA)是最常用的线性降维方法.PCA降维为了在尽量保证"信息量不丢失"的情况下,对原始特征进行降维,也就是尽可能将原始特征往具有最大投影信息量的维度上 ...

  2. 三维点云:PCA(下)open3d

    三维点云之PCA应用下 在三维点云上的应用 主成分方向 降维 求解点云的法向量 拟合平面 AABB框 点云匹配 在三维点云上的应用 PCA 是有损的数据压缩方式,它常用于对高维数据进行降维,也就是把高 ...

  3. 纹理的应用(凹凸贴图与法线贴图,三维噪声和三维纹理)

    凹凸贴图与法线贴图 在本学期的图形学学习过程中,我发现纹理除了可以表达环境光之外还可以让几何体呈现出凹凸不平形状.这样的纹理称为凹凸贴图,凹凸贴图上定义了每个点的相对高度(高度差).事实上,凹凸贴图并 ...

  4. (一) 三维点云课程---PCA介绍

    三维点云课程-PCA介绍 三维点云课程---PCA介绍 三维点云课程---PCA介绍 1. 什么是PCA 2.知识铺垫 2.1 SVD分解(奇异值分解 ) 2.1 谱定理 2.2 Rayleigh商 ...

  5. ggplot作图(条形图 误差线点图 折线图 箱线图 密度图 岭图 小提琴图 云雨图 直方图 PCA图 PcoA图 NDMS图 和弦图 维恩图 时间序列图 系统发育树 饼图 生物区系图 地图 )

    文章目录 基本原理 Plot = data + mapping +geometry + (Statistics, Scale, Coordinate) + Details 基础代码 常用图 条形图 点 ...

  6. CAD模型转为点云模型/三维点云转为灰度图

    一.三维模型转变为点云模型 (1)导入三维模型 首先准备好三维模型文件,笔者所使用的为.stl文件.在工具栏中找到File–>Open,选择三维模型文件点击打开,即可在CC中看到带转换的三维模型 ...

  7. Matlab进阶绘图第4期—三维堆叠柱状图/三维堆积图

    三维堆叠柱状图是堆叠图(见Matlab论文插图绘制模板第6期)在三维空间的拓展. 三维堆叠柱状图不仅可以直观地展示各部分总数的对比,还能够看出各部分在总数中所占的比例,从而使数据更加形像. 当然,三维 ...

  8. matlab绘制三维混沌系统程序(以三阶微分方程系统为例),可以出庞加莱截面图、二维相图、三维相图、分岔图

    matlab绘制三维混沌系统程序(以三阶微分方程系统为例),可以出庞加莱截面图.二维相图.三维相图.分岔图,需要的同学可以(不代做). _:8550662869649774皮皮and瓜瓜

  9. 读文献先读图——主成分分析 PCA 图

    上周五彩斑斓的气泡图 有让你眼花缭乱吗? 本周,化繁为简的PCA图 你值得拥有!  数据分析| 科研制图﹒PCA 图 关键词:主成分分析.降维 1665 年的鼠疫 牛顿停课在家提出了万有引力 ; 18 ...

最新文章

  1. 图像去马赛克:双线性插值VS高质量线性插值
  2. 爱的世界很拥挤,写在读《爱,就这么简单》之后
  3. 20181120-1 每周例行报告
  4. python迭代计算_Python递归和迭代
  5. (16) Node.js 模块的加载逻辑
  6. Code First 迁移,及迁移错误
  7. 使用 github + jekyll 搭建个人博客
  8. ci github 通知_GitHub 欢迎一切 CI 工具
  9. (转)Please ensure Intel HAXM is properly installed and usable. 解决方案
  10. 为什么数学不好,和语文有关系?
  11. Python 报错Process finished with exit code -1073740791 (0xC0000409)解决方法
  12. 李佳明的成长经历与留学选择
  13. Greenplum查看表/库大小、进程、表膨胀处理(sql语句)
  14. VB中do循环的四种格式
  15. JAVA计算机毕业设计星星电影购票网站Mybatis+源码+数据库+lw文档+系统+调试部署
  16. 什么是Linux主机?
  17. RTC电路锂电池耗电过快的问题
  18. 视频教程-机器学习数学基础--概率论与数理统计视频教学-机器学习
  19. 3896. 【NOIP2014模拟10.26】战争游戏
  20. 解析iebook超级精灵的iebk共享论

热门文章

  1. Proximity sensor---Px318J
  2. 2021年Facebook广告投放的9条建议
  3. 【全开源+免费更新】doodoo.js快速入门教程
  4. zkteco考勤机之间人员信息传输
  5. 更换系统的jdk版本
  6. java mock私有方法_JMockit Mock 私有方法和私有属性
  7. 《孩子,你慢慢来》的读书笔记与读后感2600字
  8. 计算机组成原理框架结构图
  9. 执著如泪,是滴入心中的破碎
  10. oracle图书操作、sql语句查询+授权、视图、索引、表操作