目录
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 的集成可视化方法,可以很方便的一次性展示多个方面的相关性信息。同时,它的可定制性也很高,可以满足许多额外的可视化需求。唯一的缺陷可能是需要耗费一定功夫写出包装的函数。