散点图矩阵是散点图的高维扩展,它从一定程度上克服了在平面上展示高维数据的困难,在展示多维数据的两两关系时有着不可替代的作用。R

软件就包含了各种不同版本的散点图函数,本文主要介绍散点图矩阵的设计及其在R中的实现方法,并比较它们的长短,从而审时度势,选取自己喜欢的表现方式和

相应的函数。

他山之石,可以攻玉。除了辅之以不同的颜色、符号外,散点图中还可以添加其他图形元素,以增强表达力,最常见的添加剂有坐标轴须、直方图、箱线图、平滑曲线、拟合曲线等。

常见的画散点图矩阵的函数有:

pairs(graphics)

R中,graphics包中的pairs()是画散点图矩阵的长老级函数,它不仅可以绘制最朴素的散点图矩阵,同时也可以通过进一步设置绘图参数进

行配置(参见?pairs),达到更高的要求(添加其他图形元素等)。不过进一步设置较为麻烦,幸好后面要介绍的函数已经可以满足我们常见的额外要求。

以鸢尾花数据为例,用以下代码绘制其散点图(图1),不同颜色分别代表不同品种的鸢尾花。

pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",

pch = 21,

bg = c("red", "green3", "blue")[unclass(iris$Species)])

图1 pairs

实际上,图1已经可以给我们很多信息,包括各类鸢尾花的花瓣、花萼长宽的大体分布以及它们两两之间的关系。

scatterplot.matrix(car)

car包中的scatterplot.matrix()函数(可以简写为spm())可以直接指定散点图中主对角线上的绘图元素(密度图、箱线图、直方图、QQ图等),还可以在散点图中添加拟合曲线、平滑曲线、相关读椭圆等。

同样利用鸢尾花数据,下面代码画出其散点图矩阵(图2).

library(car)

spm(~Sepal.Length + Sepal.Width + Petal.Length + Petal.Width |

Species, data = iris)

图2 spm

gpairs(YaleToolkit)

YaleToolKit包中的gpairs()函数同样可以绘制散点图矩阵,较之spm()函数,它更为复杂一些。下面代码得到图3,更多的例子参见帮助文档。

library(YaleToolkit)

gpairs(iris, upper.pars = list(scatter = 'stats'),

scatter.pars = list(pch = 1:3,

col = as.numeric(iris$Species)),

stat.pars = list(verbose = FALSE))

图3 gpairs

splom(lattice)

lattice包是基于网格系统的,是S-PLUS里的Trellis图形在R中的实现。Trellis是多元数据可视化的方法,特别适用于发现各

变量之间的相互作用关系。Lattice(Trellis)的主要想法是不同条件下的多个图:根据某变量的值的不同对两个变量作不同图。

lattice包中的splom()函数可以按类别绘制散点图矩阵,也可以通过进一步的设置达到更高的要求。下面的代码再次得到鸢尾花数据的散点图矩阵(图4)。

library(lattice)

super.sym

splom(~iris[1:4], groups = Species, data = iris,

panel = panel.superpose,

key = list(title = "Three Varieties of Iris",

columns = 3,

points = list(pch = super.sym$pch[1:3],

col = super.sym$col[1:3]),

text = list(c("Setosa", "Versicolor", "Virginica"))))

Matlab如何绘制散点图矩阵,不同版本的散点图矩阵相关推荐

  1. 不同版本的散点图矩阵

    转载自:http://cos.name/2009/03/scatterplot-matrix-visualization/ 散点图矩阵是散点图的高维扩展,它从一定程度上克服了在平面上展示高维数据的困难 ...

  2. MATLAB | 如何绘制高端大气的分组矩阵图

    MATLAB 绘制分组矩阵图 效果展示: 工具函数放在最后 ! ! ! ! 工具函数放在最后 ! ! ! ! 工具函数放在最后 ! ! ! ! 基本使用 例如随机生成一组分组数据,在最后两行调用pai ...

  3. Matlab论文插图绘制模板第49期—散点矩阵图(Plotmatrix)

    在之前的文章中,分享了很多Matlab散点图的绘制模板: 这一次,再来分享一种特殊的散点图:散点矩阵图. 先来看一下成品效果: 本文主要展示带直方图的散点矩阵图的绘制方法,不带直方图的散点矩阵图的绘制 ...

  4. matlab给散点标号,在Matlab中绘制散点图时,如何在每个点上标记符号?如何在Matlab中绘制散点图...

    在matlab中绘制散点图时如何在每个点上标记符号? 问: 在matlab中绘制了10个点,如何在每个matlab中的每个散点图点上的表上绘制相应的符号?分别标记: A,A1,A2,A 答案: 使用文 ...

  5. MATLAB曲线绘制

    From:http://hi.baidu.com/fightiger/blog/item/b2c1831382bf52d9f7039eab.html 一. 二维数据曲线图 1.1 绘制 单根二维曲线 ...

  6. 两个同时comet matlab,matlab 三维绘制

    1. mesh(Z)语句 mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数 ...

  7. matlab空间曲线展开,MATLAB曲线绘制的一些技巧和注解

    一. 二维数据曲线图 1.1 绘制 单根二维曲线 plot 函数的基本调用 格式为: plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标 和y坐标数据. 例1-1 在0≤x≤2p区间内 ...

  8. matlab图形绘制经典案例,MATLAB经典教程第四章_图形绘制.ppt

    <MATLAB经典教程第四章_图形绘制.ppt>由会员分享,可在线阅读,更多相关<MATLAB经典教程第四章_图形绘制.ppt(32页珍藏版)>请在人人文库网上搜索. 1.Ma ...

  9. python 一组数据 正态分布散点图_python高维数据型图表矩阵散点图

    矩阵散点图 矩阵散点图(matrix scatter plot) 是散点图的高维扩展,是一种常用的高维度数可视化技术: 将高维度数据的每个变量组成一个散点图: 再将它们按照一定的顺序组成矩阵散点图: ...

最新文章

  1. 邵阳一中2021高考成绩查询入口,邵阳高考成绩查询系统
  2. Spark详解(十三):Spark Streaming 运行架构分析
  3. Spring 中 Bean 的生命周期
  4. Task2.特征提取
  5. MATLAB使用imshow之后plot的坐标原点在左上角!
  6. html 为什么ul不撑开,给li设置float浮动属性之后,无法撑开外层ul的问题。
  7. 拖拽上传及读取文件实现
  8. c语言禁止窗口关闭,无法关闭窗口的程序
  9. 俊杰隐藏文件程序源码分享 C#
  10. Iometer存储测试工具参数说明-3 results display
  11. 【坚持每日一题9.21】整数的英语表示
  12. DSP之定时器理论笔记
  13. 职高计算机教学案例 反思,教学案例分析反思
  14. ios开发所需图片尺寸汇总
  15. 音频延时测试方法与实现
  16. Android - ReactNative Debug 技巧
  17. Kubernetes网络技术解析之Pod基于路由模式的通信实现
  18. 微信小程序实例-摇一摇抽奖
  19. stone 质检员 (二分)
  20. INVOKE expression [, arguments]

热门文章

  1. oracle自动还原,什么是oracle自动恢复操作
  2. Python 数据分析与展示笔记1 -- Numpy 基础
  3. erlang虚拟机精要(1)-运行时系统简介
  4. 【深度学习】干货!小显存如何训练大模型
  5. 【预训练模型】一文串起从NLP到CV 预训练技术和范式演进
  6. 【效率】一次打包,无限复用!教你用 PyCharm 搭建一劳永逸的开发环境
  7. 【Python基础】101道Numpy、Pandas练习题,提升你的Python水平
  8. 【机器学习基础】一文归纳Python特征生成方法(全)
  9. 【Python基础】Python中的高效迭代库itertools,排列组合随便求
  10. 【Python基础】解决matplotlib文字标签遮挡问题