美文网首页R语言可视化
万丈高楼平地起——ggplot2简单介绍

万丈高楼平地起——ggplot2简单介绍

作者: Bio_Infor | 来源:发表于2021-08-06 15:53 被阅读0次
ggplot2.jpg
ggplot2由Hadley Wickham开发,是一个功能强大且十分灵活的包,可以说它是R中绘图的主阵地,很好地阐释了什么叫“图形美学”。

ggplot2最主要的优点在于它采取图层设计的方式进行绘图,简单来说ggplot2的绘图是通过图层之间的叠加实现的,而这个叠加就是通过 + 实现的,这在很大程度上有利于结构化思维绘图。一般来说ggplot2绘图的基本语法结构如下所示

ggplot(data = <data>, mapping = aes(<mappings>) +
#创建了面板,并不出现图形
geom_xxx() | stat_xxx() +   #出现图形元素
scale_xxx() +   #度量调整
coord_xxx() +   #坐标变换,默认为直角坐标系
facet_xxx() +   #图形分面系统
guides() +   #图例调整
theme()    #主题设定

其中,前两个元素对于ggplot2绘图来说是必须的,不然不会出现图形元素,后面5个为可选元素,主要用于图形的美化和个性化要求的实现。

geom_xxx()和stat_xxx()

geom_xxx()为几何对象函数,stat_xxx()为统计变换函数,我们一般使用几何对象函数,只有当我们在绘图时涉及到统计变换才会用到stat_xxx()函数,比如我们要绘制带有误差线的均值散点图。geom_xxx()函数太多了,这里先不一一列举了,后面实战时慢慢带入吧!
stat_xxx()函数主要是在数据被绘制出来之前对其进行统计计算,不同的计算方法会产生不同的计算结果,所以stat()函数必定是与geom()函数存在一个对应的关系,不然你统计变换又有什么意义呢?每一个图层基本上都包含一个几何对象和一个统计变换,也就是说:每一个以geom_xxx()开头的几何对象都含有一个stat参数,同时,每一个以stat_xxx()开头的几何对象也都会有一个geom参数。实际上,geom_xxx()的参数里面会有一个默认的选项:stat = 'identity',就是默认不进行统计变换。

scale_xxx()

用于控制变量映射到视觉对象的具体细节,比如坐标轴、透明度、轮廓色、填充色、形状等信息。具体我们会在后面的实战中接续说明。

coord_xxx()

在生物学绘图当中,常用的坐标系包括直角坐标系,也称作笛卡儿坐标系,以及极坐标系。其中ggplot2的直角坐标系包括coord_cartesian()、coord_fixed()、coord_flip()以及coord_trans(),默认为第一个,coord_fixed()能够让我们固定纵横比(华夫饼图和复合型散点饼图),coord_flip()能够翻转坐标系,coord_trans()坐标系的坐标轴上刻度比例尺是变化的,例如数据点在某个轴方向上是变化的,不便于观察,这个时候就可以通过改变比例尺来进行调节,使数据点集中显示,更加方便观察。
同时,ggplot2能够通过coord_polar()将直角坐标系转换为极坐标系,具体语句为:

coord_polar(theta = 'x',start = 0,direction = 1,clip = 'on')

theta表示要极坐标化的中心轴,即将X轴转换为圆周;direction表示排列方向,1表示顺时针。

theme()

在主题方面,一般会选择套用现成的模板,比如ggsci就是专门为学术图表开发的。ggplot2自带的主题也很多,包括theme_gray()、theme_bw()、theme_light()、theme_test()以及theme_classic(),学术图表一般推荐theme_test()和theme_classic()。

还有很多参数,只能在实战中慢慢带入咯~

相关文章

网友评论

    本文标题:万丈高楼平地起——ggplot2简单介绍

    本文链接:https://www.haomeiwen.com/subject/phoevltx.html