今天分享关于ggplot2的绘图思想和关键技巧!R语言中ggplot2的安装率很高,就像中国手机用户中微信的安装率一样,大家在使用R语言中绘图时,也会经常用到这款功能强大的R包,下面将是使用ggplot2绘制的部分示例图片。

在R语言中,ggplot2 包包含了一套全面而连贯的语法的绘图系统,弥补了基础R中创建图形缺乏一致性的缺点,方便了科研工作者和数据分析人员的操作使用。
核心理念:将绘图与数据分离,数据相关的绘图与数据无关的绘图分离,按图层作图,就像搭积木一样。
# 一个简单的ggplot2绘图命令:
ggplot(data= iris, aes(x = Sepal.Length, y = Sepal.Width)) + #绘制底层画布
geom_point() #在画布上添加点
ggplot2语句可以理解为一句语句绘制一幅图,然后进行图层叠加,而叠加是通过”+“号把绘图语句拼接实现的。
ggplot函数包括9个部件
-
数据 (data) -
映射 (mapping) -
几何对象 (geom_xx) -
统计变换 (stats) -
标度 (scale) -
坐标系 (coord) -
分面 (facet) -
主题 (theme) -
存储和输出 (output)
前三个是必需的,Hadley大神将这套可视化语法诠释为:一张统计图形就是从数据到几何对象(geometric object,缩写geom)的图形属性(aesthetic attribute,缩写aes)的一个映射。

此外,图形中还可能包含数据的统计变换(statistical transformation,缩写stats),最后绘制在某个特定的坐标系(coordinate system,缩写coord)中,而分面(facet)则可以用来生成数据不同子集的图形。

通常情况下,我们只需要关注数据和映射关系,可以先做出基础版的结果,然后再灵活的添加颜色映射、修改填充背景等,最后还可以修改字体主题等细节。一副完整的作品离不开精雕细琢,一个好看的ggplot2图片离不开图层的映射。

举个例子
ggplot(data = iris, mapping = aes(Petal.Length,Petal.Width)) +
geom_point(size = 2,alpha = 0.5,col ="red") +
geom_smooth(method = "lm",se = F)
以上是一个简单的示例,翻译成人话将是:使用iris数据绘制散点图,使用Length作为x轴,Width作为y轴,绘制红色半透明的散点图,然后再绘制一条lm的拟合曲线,不显示置信区间。

参考资料
https://liangliangzhuang.github.io/R-tutorial/ggplot2-plot.html
https://cloud.tencent.com/developer/article/1674158
https://bookdown.org/wangminjie/R4DS/
本文由 mdnice 多平台发布