R绘图基础指南 | 3. 散点图(合集)

Python013

R绘图基础指南 | 3. 散点图(合集),第1张

目录

3. 散点图

3.1 绘制基本散点图

3.2 使用点形和颜色属性进行分组

3.3 使用不同于默认设置的点形

3.4 将连续型变量映射到点的颜色或大小属性上

3.5 处理图形重叠

3.6 添加回归模型拟合线

3.7 根据已有模型向散点图添加拟合线

3.8 添加来自多个模型的拟合线

3.9 向散点图添加模型系数

3.10 向散点图添加边际地毯

3.11 向散点图添加标签

3.12 绘制气泡图

3.13 绘制散点图矩阵往期文章参考书籍

散点图通常用于刻画两个连续型变量之间的关系。绘制散点图时,数据集中的每一个观测值都由每个点表示。

方法:

值得注意的是: loess() 函数只能根据数据对应的x轴的范围进行预测。如果想基于数据集对拟合线进行 外推 ,必须使用支持外推的函数,比如 lm() ,并将 fullrange=TRUE 参数传递给 stat_smooth() 函数。

使用 lm() 函数建立一个以 ageYear 为预测变量对 heightIn 进行预测的模型。然后,调用 predict() 函数对 heightIn 进行预测。

根据变量 sex 的水平对 heightweight 数据集进行分组,调用 lm() 函数对每组数据分别建立线性模型,并将模型结果放在一个列表内。随后,通过下面定义的 make_model() 函数建立模型。

调用 annotate() 函数在图形中添加文本。

调整标签位置,大家自行尝试。

如何只对自己想要的数据点添加标签。

调用 geom_point() 和 scale_size_area() 函数即可绘制气泡图。

如果x轴,y轴皆是分类变量,气泡图可以用来表示网格上的变量值。

散点图矩阵是一种对多个变量两两之间关系进行可视化的有效方法。pairs()函数可以绘制散点图矩阵。

这个我查了下觉得应该是这么回事:iris首先是个数据框,数据框可以看做是矩阵的推广,也可以看成是特殊的列表。在你这里通过调用iris[,1:4]和iris[,1:4]得到一个数据结果,我觉得是在调用iris[,1:4]的时候吧iris当成了特殊的矩阵,这样的话就代表iris的1到4列,前面的逗号代表所有的行。而再调用iris[1:4]的时候把iris当成了特殊的列表,调用的而是iris的第1到4个元素,正好也是iris作为矩阵的第1到4列,所以两者就像等了。

最近想要可视化样本间的相关性,但又不满足于常规的相关性热图。因此,就注意到 GGally 包中的 ggpairs 函数,可以方便地实现多方面的相关性可视化。

下面以 airway 数据集进行演示:

这里我们在前4个样本中随机选取1000个基因进行展示

ggpairs 将输出的图划分为三个区域,分别是左下角的 lower , 对角线的 diag , 以及右上角的 upper . 对于连续性数值变量,默认在 lower 区画pairwise scatter plot, diag 区画density plot, upper 区展示相应的pairwise Pearson's correaltion coefficient.

进一步,我还希望在左下角的散点图中加入 y=x 的拟合线,并在对角线的加上直方图。我们可以通过自定义画图的函数实现这些操作。

再放一个高度修改的版本

在我看来 ggpairs 相当于是一个 ggplot2 的集成可视化方法,可以很方便的一次性展示多个方面的相关性信息。同时,它的可定制性也很高,可以满足许多额外的可视化需求。唯一的缺陷可能是需要耗费一定功夫写出包装的函数。