R作为一种流行的开源软件工具,具有强大的数据可视化能力,常用于统计分析和绘图。本书包括4个部分,共13章,介绍R核心绘图系统。为了说明R所绘制图表的多样性与复杂性,第1章给出关于R绘图设备的概述。第1部分着重讲述基础绘图系统。其中,第2章介绍基础绘图系统的简单用法,第3章关注如何自定义图形细节、组合多个图形以及向图形添加更多的输出。第2部分介绍grid绘图系统。其中,第4章和第5章分别详细介绍lattice包和ggplot2包,第6章和第7章则包括大量翔实的关于R绘图系统如何工作的内容,第8章对于如何开发新的绘图函数与对象给出介绍。第3部分介绍R绘图引擎。其中,第9章介绍控制R绘图输出的格式,第10章介绍指定颜色和字体的绘图参数。第4部分介绍整合R绘图系统。其中,第11章介绍利用grlmport包和grlmport2包将其他系统的图像导入R中,第12章关注组合绘图系统的问题,第13章介绍如何利用R绘图本身并不支持的高级绘图特征,特别是gridSVG包。
本书不仅适合R语言的初学者阅读,也适合R语言的中级用户和高级用户学习参考。
适读人群 :本书不仅适合R语言的初学者阅读,也适合R的中级用户和高级用户学习。
1.本书是R绘图领域的经典著作、主要的参考书。
2.作者是R语言绘图领域杰出的领军人物,R统计计算项目Omegahat开发团队成员,美国统计协会会员力作!
3.第3版反映了统计和计算技术的**发展,对部分章节内容进行了彻底的改写。与第2版相比,第3版主要关注R中两个核心的绘图包graphics和grid,并重新组织了本书的第4部分内容,重点介绍了导入外部图像,整合graphics和grid系统,以及高级的SVG绘图。
4.第3版的一个主要目的是向读者展示R绘图系统的强大功能,能够实现以各种格式生成含有丰富细节的自定义图形,并能够分享和复用这些图形,以及整合来自多个不同系统的图形。
5.本书配套资源丰富,提供生成本书所有图片的R语言源代码、书中配图下载。
本书适用于各类R用户。
对于R的初级用户,本书给出了R绘图功能的总览,方便其使用R的绘图函数以及修改生成的图形。
对于R的中级用户,本书提供了R中定制复杂绘图功能所需要的所有必要信息。
对于R的高级用户,本书包含了帮助用户开发一致、可复用的并且可拓展的绘图函数所必需的内容。
保罗·莫雷尔(Paul Murrell),R语言绘图领域著名的领军人物。他在奥克兰大学获得计算机科学学士、心理学学士和心理学硕士以及统计学博士学位。1999年10月,他加入了奥克兰大学统计系。他是统计计算项目Omegahat开发团队的成员。2010年,他获选成为美国统计协会的会员。
第1章 R绘图简介 1
1.1 R绘图示例 2
1.1.1 标准绘图 2
1.1.2 框架图 5
1.1.3 绘图语法 7
1.1.4 绘制专门的图形 8
1.1.5 绘图背景综述 9
1.2 R绘图系统的组织结构 11
第1部分 基础绘图 15
第2章 基础绘图系统的简单用法 16
2.1 基础绘图模型 17
2.2 plot()函数 17
2.3 单变量绘图 22
2.4 双变量绘图 24
2.5 多变量绘图 26
2.6 绘图函数的参数 28
2.7 专业绘图 32
第3章 定制基础绘图 35
3.1 基础绘图模型详解 36
3.1.1 绘图区域 36
3.1.2 基础绘图中的绘图状态 39
3.2 控制绘图外观 44
3.2.1 颜色 45
3.2.2 线条 46
3.2.3 文本 47
3.2.4 数据符号 50
3.2.5 坐标轴 51
3.2.6 绘图区域 53
3.2.7 剪切 55
3.2.8 跳转到新的图形 56
3.3 多绘图布局 56
3.3.1 使用基础绘图状态设置 57
3.3.2 布局函数layout() 57
3.3.3 split-screen方法 61
3.4 注释图形 61
3.4.1 在绘图区域上添加注释 61
3.4.2 在边缘处添加注释 69
3.4.3 图例 72
3.4.4 坐标轴 74
3.4.5 坐标系 75
3.4.6 特殊情形 82
3.5 创建新的图形 87
3.5.1 从头开始创建一个简单的图形 88
3.5.2 从头开始创建一个更复杂的图形 89
3.5.3 创建基础绘图函数 92
3.6 交互式绘图 95
第2部分 grid绘图 97
第4章 网格图:lattice包 98
4.1 lattice绘图模型 99
4.2 lattice绘图类型 101
4.3 formula参数与条件多框图 103
4.4 group参数和图例 105
4.5 layout参数和图形布局 106
4.6 scales参数以及为坐标轴添加标签 109
4.7 panel参数和图形注释 110
4.8 par.settings和绘图参数 114
第5章 图形语法:ggplot2包 118
5.1 快速绘图 118
5.2 ggplot2绘图模型 120
5.3 数据 122
5.4 几何对象和图形属性 123
5.5 标度 126
5.6 统计变换 129
5.7 图形属性group 132
5.8 位置调整 133
5.9 坐标变换 135
5.10 分面 138
5.11 主题 139
5.12 注释 141
5.13 ggplot2扩展 143
第6章 grid绘图模型 144
6.1 grid绘图简述 144
6.2 图形基础 148
6.2.1 绘图实用程序 153
6.2.2 标准参数 154
6.2.3 剪切 155
6.3 坐标系 155
6.3.1 转换函数 158
6.3.2 复杂单位 159
6.4 控制输出的外观 162
6.4.1 指定绘图参数设置 164
6.4.2 向量化绘图参数设置 165
6.5 视图 168
6.5.1 调入、弹出和视图之间的定位 169
6.5.2 剪切到视图 173
6.5.3 视图列表、栈和树 174
6.5.4 作为基础绘图参数的视图 177
6.5.5 视图中的绘图参数设置 178
6.5.6 图层 179
6.6 缺失值和非有限值 184
6.7 交互图形 185
6.8 定制lattice图 185
6.8.1 将grid输出添加到lattice输出中 185
6.8.2 将lattice输出添加到grid输出中 186
6.9 定制ggplot2输出 188
6.9.1 将grid输出添加到ggplot2输出中 188
6.9.2 将ggplot2输出添加到grid输出中 189
第7章 grid绘图对象模型 193
7.1 使用图形输出 193
7.2 绘图对象列表 195
7.3 选择绘图对象 199
7.4 绘图元件列表、树和路径 201
7.5 搜索绘图元件 204
7.6 编辑绘图背景 204
7.7 强制绘图对象 205
7.8 离屏使用绘图对象 207
7.9 重排绘图对象 208
7.10 捕捉输出 209
7.11 查询绘图元件 210
7.11.1 计算绘图元件的尺寸 211
7.11.2 计算绘图元件的位置 214
7.12 在框架中放置和打包绘图元件 216
7.13 显示列表 219
7.14 使用lattice绘图元件 220
7.15 使用ggplot2绘图元件 222
第8章 开发新的绘图函数与对象 227
8.1 一个例子 227
8.2 绘图函数 228
8.2.1 模块化 229
8.2.2 嵌入图形输出 230
8.2.3 输出的编辑 231
8.2.4 注释的输出 231
8.3 绘图对象 233
8.3.1 定义一个静态绘图元件 234
8.3.2 编辑绘图元件 236
8.3.3 定义一个带绘图背景的静态绘图元件 237
8.3.4 定义动态绘图元件 241
8.3.5 强制绘图元件 244
8.3.6 恢复绘图元件 245
8.3.7 定义带绘图背景的动态绘图元件 245
8.3.8 查询绘图对象 248
8.3.9 绘图对象方法总结 249
8.3.10 绘图时的计算 249
8.3.11 避免参数爆炸 253
8.4 绘图函数和绘图对象的混合 254
8.5 调试grid 256
第3部分 绘图引擎 259
第9章 图形格式 260
9.1 绘图设备 260
9.2 图形输出格式 262
9.2.1 矢量格式 263
9.2.2 光栅格式 266
9.2.3 R Studio 267
9.3 在其他文档中使用R绘图系统 268
9.3.1 LATEX 268
9.3.2 “生产性”软件 268
9.3.3 网页 269
9.4 特定设备特性 269
9.5 多页面输出 270
9.6 显示列表 270
9.7 扩展包 271
第10章 绘图参数 272
10.1 颜色 272
10.1.1 半透明颜色 274
10.1.2 颜色的转换 274
10.1.3 颜色集合 275
10.1.4 颜色指定对设备的依赖 277
10.2 线条样式 277
10.2.1 线条宽度 277
10.2.2 线条类型 278
10.2.3 线条的端点和连接 278
10.3 数据符号 279
10.4 字体 280
10.4.1 字体族 281
10.4.2 字体外观 290
10.4.3 多行文本 292
10.4.4 区域设置 292
10.4.5 转义序列 293
10.4.6 反锯齿 293
10.5 数学公式 293
第4部分 整合绘图系统 297
第11章 导入图像 298
11.1 月球和潮汐 298
11.2 导入光栅图像 300
11.3 导入矢量图像 302
11.3.1 grImport包 302
11.3.2 grImport2包 307
第12章 组合绘图系统 314
12.1 gridBase包 314
12.1.1 使用grid注释基础绘图图形 314
12.1.2 grid视图中的基础绘图图形 317
12.1.3 gridBase的问题与局限 319
12.2 gridGraphics包 320
12.2.1 使用grid编辑基础绘图图形 322
12.2.2 grid视图中的基础绘图图形 322
12.2.3 gridGraphics的问题与局限 324
第13章 高级绘图 327
13.1 导出SVG 328
13.2 SVG高级特征 331
13.2.1 渐变填充 331
13.2.2 模式填充 332
13.2.3 滤镜 334
13.2.4 剪切路径 336
13.2.5 遮罩 337
13.3 SVG绘图背景 339
13.4 SVG定义 339
13.5 离屏绘制 343
13.6 SVG字体 344
13.7 导出基础绘图图形 347
13.8 导出其他格式的图形 347
13.9 导出导入的图像 348