【反思】学习的路径:厚积薄发
最近一段时间,一直在自学生物信息学。由于白天还有繁重的科研任务,只能每天晚上回家后,在10: 00-12:00之间安排时间学习。经过近两个月的学习,已经熟悉了Linux的常规操作,学了一点R语言基础和ggplot2的基本使用方法。
由于自己时间有限,就一直跟着《基因课》的网络课程学习。可是时间长了,慢慢发现了问题。《基因课》的课程几分钟一节,视频演示某一操作,而对相关背景知识介绍的不太全面。很多时候,跟着视频一步一步操作,确实能得到相同的结果,但是这背后的原因就不太清楚了,理解的当然就不透彻。等到应用的时候,当然不会融会贯通。
学习真的是偷不得半点懒的,每一步路都要脚踏实地。该吃的苦,该流的汗,一点都不能少。
对于正在学习的ggplot2,还是决定找一本经典的教材,一边学习教材中的基础知识,一边进行《基因课》相关课程的学习,以加深自己的理解。于是选择了这本经典的《ggplot2:数据分析与图形艺术》,边学习边做笔记总结。
ggplot2的图形语法
ggplot2作图的规则是根据图形语法设计的,这一语法基于《Grammar Graphics》一书,由一系列独立的图形部件组成,并能以许多种不同的方式组合起来。这一点使得ggplot2非常强大,使得使用者可以根据自己的需要,将各种不同的图形部件进行组合,绘制出具有特色的图形。
一张统计图就是从数据到几何对象的图形属性的映射,并将图形绘制在某个坐标系中。其中,绘制图形前,数据可能需要进行统计变换;绘制图形时,还可能需要分面以生成数据不同子集的图形。
ggplot2的图形部件
- 数据(data)
- 映射(mapping)
- 几何对象(geom):在图中实际看到的图形元素,点、线、多边形
- 统计变换(stats):是对数据进行的某种汇总。例如,将数据分组以创建直方图,或将一个二维的关系用一个线性模型进行解释。
- 标度(scale):将数据的取值映射到图形空间,例如用颜色、大小、或形状表示不同的取值。展现标度最常见的做法是绘制图例和坐标轴,它们实际上是从图形到数据的一个映射,是读者可以从图形中读取原始的数据。
- 坐标系(coord):描述了数据是如何映射到图形所在的平面的,同时提供了看图所需要的坐标轴和网格线。
- 分面(facet):描述了如何将数据分为各个子集,以及如何对子集进行作图并进行联合展示。