【R语言】--- 散点图

Python022

【R语言】--- 散点图,第1张

散点图是将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定,每个点对应一个 X 和 Y 轴点坐标。散点图可以用R自带的plot()函数绘制,也可以用ggplot2包的geom_point()和 geom_dotplot()函数来绘制,当使用geom_dotplot()绘图时,point的形状是dot,不能改变点的形状,因此,geom_dotplot 叫做散点图(Scatter Plot),通过绘制点来呈现数据的分布,对点分箱的方法有两种:点密度(dot-density )和直方点(histodot)。当使用点密度分箱(bin)方式时,分箱的位置是由数据和binwidth决定的,会根据数据进行变化,但不会大于binwidth指定的宽度;当使用直方点分箱方式时,分箱有固定的位置和固定的宽度,就像由点构成的直方图(histogram)。

基本语法:

x 横坐标 x 轴的数据集合;

y 纵坐标 y 轴的数据集合;

type:绘图的类型,p 为点、l 为直线, o 同时绘制点和线,且线穿过点;

main:图表标题;

xlab、ylab x 轴和 y 轴的标签名称;

xlim、ylim x 轴和 y 轴的范围;

axes 布尔值,是否绘制两个 x 轴。

p:点图;

l:线图;

b:同时绘制点和线;

c:仅绘制参数 b 所示的线;

o:同时绘制点和线,且线穿过点;

h:绘制出点到横坐标轴的垂直线;

s:阶梯图,先横后纵;

S:阶梯图,先纵后竖;

n: 空图。

美化后的散点图

散点图矩阵是借助两变量散点图的作图方法,它可以看作是一个大的图形方阵,其每一个非主对角元素的位置上是对应行的变量与对应列的变量的散点图。而主对角元素位置上是各变量名,这样,借助散点图矩阵可以清晰地看到所研究多个变量两两之间的相关关系。散点图矩阵就是把数据集中的每个数值变量两两绘制散点图,这里我们用pairs()函数绘制。

把直方图放在对角线上

geom_point()函数用于创建散点图。散点图对于显示两个连续变量之间的关系最有用。它可以用于比较一个连续变量和一个类别变量,或者两个类别变量,但是像geom_jitter()、geom_count()或geom_bin2d()这样的变体通常更合适。气泡图是一个散点图,第三个变量映射到点的大小。

https://www.r-graph-gallery.com/

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

原文见 http://www.win-vector.com/blog/2018/10/scatterplot-matrices-pair-plots-with-cdata-and-ggplot2/

散点图矩阵就是把数据集中的每个数值变量两两绘制散点图。基础的R包,绘图函数是pairs()。这是基础包绘制的iris数据集的一个例子:

另外的绘图方式还有几种。

用R包中cdata绘制一下散点矩阵图

首先是加载相关的R包

然后按照需求重塑数据

然后用facet_grid创建图形