R作為一種流行的開源軟件工具,具有強大的數(shù)據(jù)可視化能力,常用于統(tǒng)計分析和繪圖。本書包括4個部分,共13章,介紹R核心繪圖系統(tǒng)。為了說明R所繪制圖表的多樣性與復雜性,第1章給出關(guān)于R繪圖設(shè)備的概述。第1部分著重講述基礎(chǔ)繪圖系統(tǒng)。其中,第2章介紹基礎(chǔ)繪圖系統(tǒng)的簡單用法,第3章關(guān)注如何自定義圖形細節(jié)、組合多個圖形以及向圖形添加更多的輸出。第2部分介紹grid繪圖系統(tǒng)。其中,第4章和第5章分別詳細介紹lattice包和ggplot2包,第6章和第7章則包括大量翔實的關(guān)于R繪圖系統(tǒng)如何工作的內(nèi)容,第8章對于如何開發(fā)新的繪圖函數(shù)與對象給出介紹。第3部分介紹R繪圖引擎。其中,第9章介紹控制R繪圖輸出的格式,第10章介紹指定顏色和字體的繪圖參數(shù)。第4部分介紹整合R繪圖系統(tǒng)。其中,第11章介紹利用grlmport包和grlmport2包將其他系統(tǒng)的圖像導入R中,第12章關(guān)注組合繪圖系統(tǒng)的問題,第13章介紹如何利用R繪圖本身并不支持的高級繪圖特征,特別是gridSVG包。
本書不僅適合R語言的初學者閱讀,也適合R語言的中級用戶和高級用戶學習參考。
適讀人群 :本書不僅適合R語言的初學者閱讀,也適合R的中級用戶和高級用戶學習。
1.本書是R繪圖領(lǐng)域的經(jīng)典著作、主要的參考書。
2.作者是R語言繪圖領(lǐng)域杰出的領(lǐng)軍人物,R統(tǒng)計計算項目Omegahat開發(fā)團隊成員,美國統(tǒng)計協(xié)會會員力作!
3.第3版反映了統(tǒng)計和計算技術(shù)的**發(fā)展,對部分章節(jié)內(nèi)容進行了徹底的改寫。與第2版相比,第3版主要關(guān)注R中兩個核心的繪圖包graphics和grid,并重新組織了本書的第4部分內(nèi)容,重點介紹了導入外部圖像,整合graphics和grid系統(tǒng),以及高級的SVG繪圖。
4.第3版的一個主要目的是向讀者展示R繪圖系統(tǒng)的強大功能,能夠?qū)崿F(xiàn)以各種格式生成含有豐富細節(jié)的自定義圖形,并能夠分享和復用這些圖形,以及整合來自多個不同系統(tǒng)的圖形。
5.本書配套資源豐富,提供生成本書所有圖片的R語言源代碼、書中配圖下載。
本書適用于各類R用戶。
對于R的初級用戶,本書給出了R繪圖功能的總覽,方便其使用R的繪圖函數(shù)以及修改生成的圖形。
對于R的中級用戶,本書提供了R中定制復雜繪圖功能所需要的所有必要信息。
對于R的高級用戶,本書包含了幫助用戶開發(fā)一致、可復用的并且可拓展的繪圖函數(shù)所必需的內(nèi)容。
保羅·莫雷爾(Paul Murrell),R語言繪圖領(lǐng)域著名的領(lǐng)軍人物。他在奧克蘭大學獲得計算機科學學士、心理學學士和心理學碩士以及統(tǒng)計學博士學位。1999年10月,他加入了奧克蘭大學統(tǒng)計系。他是統(tǒng)計計算項目Omegahat開發(fā)團隊的成員。2010年,他獲選成為美國統(tǒng)計協(xié)會的會員。
第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繪圖系統(tǒng)的組織結(jié)構(gòu) 11
第1部分 基礎(chǔ)繪圖 15
第2章 基礎(chǔ)繪圖系統(tǒng)的簡單用法 16
2.1 基礎(chǔ)繪圖模型 17
2.2 plot()函數(shù) 17
2.3 單變量繪圖 22
2.4 雙變量繪圖 24
2.5 多變量繪圖 26
2.6 繪圖函數(shù)的參數(shù) 28
2.7 專業(yè)繪圖 32
第3章 定制基礎(chǔ)繪圖 35
3.1 基礎(chǔ)繪圖模型詳解 36
3.1.1 繪圖區(qū)域 36
3.1.2 基礎(chǔ)繪圖中的繪圖狀態(tài) 39
3.2 控制繪圖外觀 44
3.2.1 顏色 45
3.2.2 線條 46
3.2.3 文本 47
3.2.4 數(shù)據(jù)符號 50
3.2.5 坐標軸 51
3.2.6 繪圖區(qū)域 53
3.2.7 剪切 55
3.2.8 跳轉(zhuǎn)到新的圖形 56
3.3 多繪圖布局 56
3.3.1 使用基礎(chǔ)繪圖狀態(tài)設(shè)置 57
3.3.2 布局函數(shù)layout() 57
3.3.3 split-screen方法 61
3.4 注釋圖形 61
3.4.1 在繪圖區(qū)域上添加注釋 61
3.4.2 在邊緣處添加注釋 69
3.4.3 圖例 72
3.4.4 坐標軸 74
3.4.5 坐標系 75
3.4.6 特殊情形 82
3.5 創(chuàng)建新的圖形 87
3.5.1 從頭開始創(chuàng)建一個簡單的圖形 88
3.5.2 從頭開始創(chuàng)建一個更復雜的圖形 89
3.5.3 創(chuàng)建基礎(chǔ)繪圖函數(shù) 92
3.6 交互式繪圖 95
第2部分 grid繪圖 97
第4章 網(wǎng)格圖:lattice包 98
4.1 lattice繪圖模型 99
4.2 lattice繪圖類型 101
4.3 formula參數(shù)與條件多框圖 103
4.4 group參數(shù)和圖例 105
4.5 layout參數(shù)和圖形布局 106
4.6 scales參數(shù)以及為坐標軸添加標簽 109
4.7 panel參數(shù)和圖形注釋 110
4.8 par.settings和繪圖參數(shù) 114
第5章 圖形語法:ggplot2包 118
5.1 快速繪圖 118
5.2 ggplot2繪圖模型 120
5.3 數(shù)據(jù) 122
5.4 幾何對象和圖形屬性 123
5.5 標度 126
5.6 統(tǒng)計變換 129
5.7 圖形屬性group 132
5.8 位置調(diào)整 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 圖形基礎(chǔ) 148
6.2.1 繪圖實用程序 153
6.2.2 標準參數(shù) 154
6.2.3 剪切 155
6.3 坐標系 155
6.3.1 轉(zhuǎn)換函數(shù) 158
6.3.2 復雜單位 159
6.4 控制輸出的外觀 162
6.4.1 指定繪圖參數(shù)設(shè)置 164
6.4.2 向量化繪圖參數(shù)設(shè)置 165
6.5 視圖 168
6.5.1 調(diào)入、彈出和視圖之間的定位 169
6.5.2 剪切到視圖 173
6.5.3 視圖列表、棧和樹 174
6.5.4 作為基礎(chǔ)繪圖參數(shù)的視圖 177
6.5.5 視圖中的繪圖參數(shù)設(shè)置 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章 開發(fā)新的繪圖函數(shù)與對象 227
8.1 一個例子 227
8.2 繪圖函數(shù) 228
8.2.1 模塊化 229
8.2.2 嵌入圖形輸出 230
8.2.3 輸出的編輯 231
8.2.4 注釋的輸出 231
8.3 繪圖對象 233
8.3.1 定義一個靜態(tài)繪圖元件 234
8.3.2 編輯繪圖元件 236
8.3.3 定義一個帶繪圖背景的靜態(tài)繪圖元件 237
8.3.4 定義動態(tài)繪圖元件 241
8.3.5 強制繪圖元件 244
8.3.6 恢復繪圖元件 245
8.3.7 定義帶繪圖背景的動態(tài)繪圖元件 245
8.3.8 查詢繪圖對象 248
8.3.9 繪圖對象方法總結(jié) 249
8.3.10 繪圖時的計算 249
8.3.11 避免參數(shù)爆炸 253
8.4 繪圖函數(shù)和繪圖對象的混合 254
8.5 調(diào)試grid 256
第3部分 繪圖引擎 259
第9章 圖形格式 260
9.1 繪圖設(shè)備 260
9.2 圖形輸出格式 262
9.2.1 矢量格式 263
9.2.2 光柵格式 266
9.2.3 R Studio 267
9.3 在其他文檔中使用R繪圖系統(tǒng) 268
9.3.1 LATEX 268
9.3.2 “生產(chǎn)性”軟件 268
9.3.3 網(wǎng)頁 269
9.4 特定設(shè)備特性 269
9.5 多頁面輸出 270
9.6 顯示列表 270
9.7 擴展包 271
第10章 繪圖參數(shù) 272
10.1 顏色 272
10.1.1 半透明顏色 274
10.1.2 顏色的轉(zhuǎn)換 274
10.1.3 顏色集合 275
10.1.4 顏色指定對設(shè)備的依賴 277
10.2 線條樣式 277
10.2.1 線條寬度 277
10.2.2 線條類型 278
10.2.3 線條的端點和連接 278
10.3 數(shù)據(jù)符號 279
10.4 字體 280
10.4.1 字體族 281
10.4.2 字體外觀 290
10.4.3 多行文本 292
10.4.4 區(qū)域設(shè)置 292
10.4.5 轉(zhuǎn)義序列 293
10.4.6 反鋸齒 293
10.5 數(shù)學公式 293
第4部分 整合繪圖系統(tǒng) 297
第11章 導入圖像 298
11.1 月球和潮汐 298
11.2 導入光柵圖像 300
11.3 導入矢量圖像 302
11.3.1 grImport包 302
11.3.2 grImport2包 307
第12章 組合繪圖系統(tǒng) 314
12.1 gridBase包 314
12.1.1 使用grid注釋基礎(chǔ)繪圖圖形 314
12.1.2 grid視圖中的基礎(chǔ)繪圖圖形 317
12.1.3 gridBase的問題與局限 319
12.2 gridGraphics包 320
12.2.1 使用grid編輯基礎(chǔ)繪圖圖形 322
12.2.2 grid視圖中的基礎(chǔ)繪圖圖形 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 導出基礎(chǔ)繪圖圖形 347
13.8 導出其他格式的圖形 347
13.9 導出導入的圖像 348