r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)

阅读目录

  • 散点图简介

  • 绘制基本散点图

  • 基于颜色和点形对数据进行分组

  • 映射连续型变量

  • 处理散点重叠

  • 添加回归模型拟合线

  • 添加自定义模型拟合线

  • 向散点图添加边际地毯

  • 向散点图添加标签

散点图简介

散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本。

同时散点图中常常还会拟合一些直线,以用来表示某些模型。

绘制基本散点图

本例选用如下测试数据集:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(1)

绘制方法是首先调用ggplot函数选定数据集,并在aes参数中指明横轴纵轴。然后调用散点图函数geom_point()便可绘制出基本散点图。R语言示例代码如下:

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(2)

基于颜色和点形对数据进行分组

本例选用如下测试数据集:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(3)

绘制方法是在基础散点图之上再在基函数的美学参数集里设置一个美学变量。可指定colour或者shape两种参数,分别将不同分组以不同颜色/点形表述。R语言示例代码(基于颜色分组)如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(4)

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(5)

R语言示例代码(基于点形分组)如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(6)

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(7)

说明:可自定义点形,共有大概36种点形可供选择。具体请参考R语言ggplot2手册。

映射连续型变量

本例选用如下测试数据集:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(8)

上一个示例中,映射到分组的变量是离散型变量。而对于除了横轴纵轴之外的连续型变量,也可以映射到散点图的色深和点大小上。R语言示例代码(绑定颜色)如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(9)

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(10)

R语言示例代码(绑定大小)如下:

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(11)

处理散点重叠

本例选用如下测试数据集:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(12)

如果图中的散点重叠现象比较严重,可以在散点图中设置散点的透明度来进行可视化。R语言示例代码如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(13)

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(14)

添加回归模型拟合线

本例选用如下测试数据集:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(15)

如果需要网散点图中添加回归模型拟合线,最主要是调用stat_smooth()函数。R语言示例代码如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(16)

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(17)

线段为曲线是因为参与拟合模型为局部线性回归模型。往geom_smooth()函数中加入”method = lm”即可拟合经典线性回归。结果如下图:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(18)

添加自定义模型拟合线

本例选用如下测试数据集:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(19)

上面一小节展示了用全局/局部回归模型拟合样本点并展示拟合线段,它使用ggplot2提供的geom_smooth()函数自动拟合并完成绘制。

但在更多时候,我们会使用其他包的模型(非ggplot2内置模型)拟合。针对这种情况,我们需要自定义一个函数。该函数接受模型、横纵轴名、横轴范围、横轴样本点数量等参数,输出一个包含预测变量和预测值的数据框。R语言实现代码如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(20)

在使用其他模型建模好之后,将新的模型等各参数传递进上述函数,便得到预测结果数据集。最后将新的数据集输出为折线图即可。

下面展示一个略微复杂的例子,它将数据集根据不同性别分为两组,分别建立回归模型并绘制其拟合线。R语言实现代码如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(21)

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(22)

向散点图添加边际地毯

本例选用如下测试数据集:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(23)

方法很简单,在原先散点图绘制函数的基础上增加边际地毯函数就行。R语言实现代码如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(24)

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(25)

向散点图添加标签

本例选用如下测试数据集:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(26)

往散点图中添加标签的方法也很简单,在原有散点图函数的基础上增加文本函数即可。R语言实现代码如下:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(27)

运行结果:

r语言怎么绘制不同情况下散点图(R语言数据可视化之散点图)(28)

PS:该示例中我们在文本绘制函数中重定义了美学特征集。之后文本绘制函数将使用新的美学特征集,但其他绘制函数的不变。

via:36大数据 。 作者:穆晨 感谢!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页