一点碎碎念:今天开始看第三章Toolbox, 主要讲的是图层的用法,在图像的基础上,图层可以让plot的信息更加丰富和完整,于是就有了怎样加标签,加注释等等。这些内容虽然不难但是很琐碎,由于R基础薄弱,有些代码理解起来需要时间。所以,在这里我想先以读书笔记和翻译的形式,记录为主,尽量去逐字逐句理解。下面是第三章前四节的主要内容:
使用图层的三个主要目的:
展示数据:绘制原始数据时唯一的一层(数据层)
展示数据的统计摘要:在数据背景下展示模型的统计预测效果,模型层通常绘制在数据层之上
添加额外的元数据(metadata)、上下文信息和注释:也称背景层,了解数据的背景信息或强调数据中的某些特征,一般在最后绘制。
1. 基本图形类型
几何对象是ggplot2的基本组成部分,可以独立构建图形。他们都是二维的,主要函数有 , , , , , 等等。这些函数包括x,y两个主要属性,另外也可以接受 和 两个图形属性,他们构成了基本的数据层。
我们可以通过使用 来添加图层。
以上命令运行后可依次生成散点图、含标签的散点图、条形图、色深图、线条图、面积图、路径图和多边形图等八个图,其中 是给各个图片添加注释/命名
2. 添加标签(label)
主要函数 :和散点类似,就是将point换成了文字。它包括以下几种参数:
:设置字体大小
:设置倾斜角度
:可设置字体,下面代码中的 , , 代表三种字体, 是默认字体。
此外还有两个字体安装包
– showtext, https://github.com/yixuan/showtext, by Yixuan Qiu, makes GD-independent plots by rendering all text as polygons.
– extrafont, https://github.com/wch/extrafont, by Winston Chang, converts fonts to a standard format that all devices can use.
:可设置粗体或斜体, 默认普通值, 粗体、 斜体。
和 可以设置字体对齐方式。 (“bottom”, “middle”, “top”, “inward”, “outward”); (“left”, “center”, “right”, “inward”, “outward”)。最常用的路线之一是 :它将文本对齐到主画面的中间:
参数可以设置文字距原坐标点的距离,在散点和文字同时存在时很有必要,这是文字是一个注释的作用,如果不添加该参数,点和文字就会重合。
:查找重复值。当注释中有大量重复时,设置 可以自动删除重复标签。
以耗油量数据为例:
另外,与 类似的是 ,它与geom_text的区别自动在文字后方绘制一个圆角矩形标签,当需要在复杂的背景上标注文字时可以使用。
学会了在图中添加标签,可以替代图例
3. 注释(Annotations)
注释可以在你的图上添加一些额外的元数据,可以使用以下函数:
:在指定点添加标签(见上文)
:可强调图形中感兴趣的矩形区域。包括 , , ,
; ; :在图形中添加线条; 可以用来添加箭头
; :向图形添加垂直线或水平线
:向图形添加任意斜率和截距地直线
然后我们用“失业率数据集”来举例:
下面我们想在图中展现一下不同政党执政时期失业率的高低情况:
(疑问: 这个对象的数据不知道从哪里来的)
生成图片:
如果我们想使用同样的方法在图片中添加一个单独的注释,方法有点复杂,因为首先要创建一个数据框:
上述代码可以用 来简化 部分:
生成图片:
注释,在分面状态下的组间比较的时也非常有用。下面要做一组关于钻石质量(carat)和价格(price)比较的2d热图,按照切割品质(cut)进行分面:
参考资料:
Hadley Wickham(2016). ggplot2. Springer International Publishing. doi: 10.1007/978-3-319-24277-4
《R语言应用系列丛书·ggplot2:数据分析与图形艺术》
领取专属 10元无门槛券
私享最新 技术干货