本書主要介紹和發(fā)掘Excel軟件自身繪制科研圖表的能力。相對(duì)于其他類似軟件,Excel的缺點(diǎn)是大部分科研圖表類型缺失,完全沒有;優(yōu)點(diǎn)是它有的基本圖表類型被它做到了極致,可以輕松實(shí)現(xiàn)很多其他軟件不太容易實(shí)現(xiàn)的效果。本書基于圖形學(xué)原理,利用Excel自有圖形引擎,開發(fā)出了大量科研圖表,如二元直方圖、一元和二元核密度估計(jì)曲線圖、抖動(dòng)散點(diǎn)圖、規(guī)則散點(diǎn)圖、多種樣式的熱力圖、箱形圖、散點(diǎn)柱狀圖、散點(diǎn)箱形圖、誤差柱狀圖、小提琴圖、云雨圖、配對(duì)圖等等。MATLAB和Python有的科研圖表類型Excel現(xiàn)在基本上都有了。由于Excel最近集成了Python,本書下篇也介紹了使用Python的Matplotlib,Seaborn和Pandas等包繪制科研圖表。
童大謙曾在高校任教。2001年至今,出版MATLAB, Python, .NET和SPSS類圖書20余本,部分圖書被數(shù)十所大學(xué)用于教學(xué)。近年著有《代替VBA! 用Python輕松實(shí)現(xiàn)Excel編程》和《MATLAB科技繪圖與學(xué)術(shù)圖表繪制從理論到實(shí)踐》等圖書。李偉堅(jiān)資深數(shù)據(jù)全棧專家,擁有15年以上的數(shù)據(jù)相關(guān)工作經(jīng)驗(yàn)。Excel催化劑公眾號(hào)主理人,EasyShu圖表插件、Excel催化劑插件、FreeScript插件等主創(chuàng)。
第1 章 概述 / 1
1.1 科研繪圖概述 2
1.1.1 科研繪圖的相關(guān)概念 2
1.1.2 科研繪圖的常見要求 2
1.1.3 常見的科研繪圖軟件 3
1.2 用Excel 圖形引擎繪圖 3
1.2.1 用Excel 圖形引擎繪圖的優(yōu)點(diǎn)和缺點(diǎn) 3
1.2.2 用Excel GUI 繪圖 4
1.2.3 以編程方式創(chuàng)建和編輯科研圖表 4
1.2.4 用Excel 創(chuàng)建新圖表 4
1.3 用Matplotlib 圖形引擎繪圖 5
1.3.1 用Matplotlib 圖形引擎繪圖的優(yōu)點(diǎn)和缺點(diǎn) 5
1.3.2 在Excel 中用Matplotlib圖形引擎繪圖 5
1.4 本書使用說明 6
1.4.1 代碼使用說明 6
1.4.2 學(xué)習(xí)資源使用說明 6
1.4.3 軟件版本使用說明 6
第2章 語言和數(shù)據(jù)基礎(chǔ) / 7
2.1 在Python 中用Excel圖形引擎繪圖 8
2.1.1 Python xlwings 的安裝 8
2.1.2 Python xlwings 的兩種編程方式 8
2.1.3 使用Python xlwings 的一般過程 9
2.2 數(shù)據(jù)分類 10
2.2.1 標(biāo)量、向量和矩陣 10
2.2.2 數(shù)值型數(shù)據(jù) 11
2.2.3 分類型數(shù)據(jù) 12
2.2.4 時(shí)間系列型數(shù)據(jù) 12
2.3 數(shù)據(jù)導(dǎo)入和導(dǎo)出 12
2.4 數(shù)據(jù)整理 13
2.4.1 列數(shù)據(jù)的獲取 13
2.4.2 列數(shù)據(jù)的篩選 15
2.5 數(shù)據(jù)預(yù)處理 16
2.5.1 重復(fù)值的處理 16
2.5.2 缺失值的處理 17
2.5.3 異常值的處理 18
第3 章 圖表基礎(chǔ) / 21
3.1 用Excel 創(chuàng)建圖表 22
3.2 用Python xlwings 創(chuàng)建圖表 22
3.2.1 用ChartObjects 對(duì)象創(chuàng)建圖表 22
3.2.2 用Shapes 對(duì)象創(chuàng)建圖表 24
3.2.3 通過逐個(gè)添加系列創(chuàng)建圖表 26
3.2.4 用API 方式創(chuàng)建圖表工作表 27
3.2.5 綁定數(shù)據(jù) 28
3.3 圖表類型與常用屬性 29
3.3.1 設(shè)置圖表類型 29
3.3.2 設(shè)置和修改圖表屬性 34
3.4 坐標(biāo)系 36
3.4.1 Axes 對(duì)象和Axis 對(duì)象 36
3.4.2 坐標(biāo)軸標(biāo)題 38
3.4.3 數(shù)值軸的取值范圍 40
3.4.4 坐標(biāo)軸反向 41
3.4.5 坐標(biāo)軸交點(diǎn)位置 42
3.4.6 刻度線 43
3.4.7 刻度線間隔 44
3.4.8 刻度標(biāo)簽 46
3.4.9 刻度標(biāo)簽間隔 47
3.4.10 刻度標(biāo)簽的輸出格式 49
3.4.11 網(wǎng)格線 50
3.4.12 外框 51
3.4.13 雙軸圖 52
3.4.14 對(duì)數(shù)坐標(biāo)圖 54
3.5 圖表元素 55
3.5.1 設(shè)置圖表元素 55
3.5.2 圖表標(biāo)題 57
3.5.3 數(shù)據(jù)標(biāo)簽 58
3.5.4 繪圖區(qū) 59
3.5.5 圖表區(qū) 61
3.5.6 圖例 62
第4 章 美化Excel 圖表 / 66
4.1 獲取圖表中的基本圖形元素 67
4.1.1 獲取圖表中的系列 67
4.1.2 獲取系列中的單個(gè)點(diǎn) 68
4.2 修改基本圖形元素的屬性 70
4.2.1 修改點(diǎn)的屬性 70
4.2.2 修改線的屬性 73
4.2.3 修改面的屬性 75
4.2.4 修改文本的屬性 83
4.3 著色與配色 84
4.3.1 顏色的表示 84
4.3.2 配色理論 88
4.3.3 配色工具和資源 92
4.3.4 給一組對(duì)象著色 92
4.3.5 使用顏色查找表 93
4.4 更多渲染 100
4.4.1 透明度 100
4.4.2 紋理映射 101
4.4.3 光照和材質(zhì) 101
4.4.4 特效:陰影 102
4.4.5 特效:發(fā)光 103
4.4.6 特效:邊緣柔化 105
4.4.7 特效:三維效果 106
4.5 樣式和布局 107
4.5.1 內(nèi)置圖表樣式 107
4.5.2 自定義圖表樣式 110
4.5.3 布局章法:留白 112
4.5.4 布局章法:主次 112
4.5.5 布局章法:疏密 112
4.5.6 布局章法:取舍 112
4.6 高質(zhì)量圖表輸出 112
4.6.1 設(shè)置圖表大小 112
4.6.2 設(shè)置字體 113
4.6.3 將圖表保存為圖片 114
4.6.4 輸出矢量格式 114
第5 章 創(chuàng)建新圖表 / 116
5.1 在繪圖區(qū)自定義圖表的坐標(biāo) 117
5.1.1 圖表區(qū)與繪圖區(qū)的位置和大小 117
5.1.2 圖表區(qū)與繪圖區(qū)的坐標(biāo)系 120
5.1.3 創(chuàng)建空坐標(biāo)系 121
5.1.4 在繪圖區(qū)添加圖形元素 122
5.1.5 坐標(biāo)轉(zhuǎn)換 125
5.2 在圖表中繪制基本圖形元素 127
5.2.1 繪制點(diǎn) 127
5.2.2 繪制直線 130
5.2.3 繪制矩形、圓角矩形、橢圓和圓 132
5.2.4 繪制多義線與多邊形 135
5.2.5 繪制貝塞爾曲線 142
5.2.6 繪制標(biāo)簽 143
5.2.7 繪制文本框 144
5.2.8 添加標(biāo)注 145
5.2.9 繪制自選圖形 148
5.2.10 繪制藝術(shù)字 149
5.3 用基本圖形元素搭建新圖表 151
5.3.1 自定義堆疊柱狀圖 151
5.3.2 自定義沖擊圖 154
5.3.3 自定義散點(diǎn)柱狀圖 155
5.3.4 自定義三角形柱狀圖 158
5.3.5 自定義倒三角形柱狀圖 160
5.4 修改已有圖表創(chuàng)建新圖表 161
5.5 組合已有圖表創(chuàng)建新圖表 164
5.6 圖形的幾何變換 167
5.6.1 幾何變換的基本原理 167
5.6.2 平移變換 168
5.6.3 旋轉(zhuǎn)變換 169
5.6.4 縮放變換 170
5.6.5 翻轉(zhuǎn)變換 171
5.7 圖片操作 173
5.7.1 在圖表中添加圖片 173
5.7.2 圖片的幾何變換 174
5.7.3 在圖表中添加圖片示例 175
5.8 在繪圖區(qū)自定義圖表時(shí)可能遇到的幾個(gè)問題 176
5.8.1 圖表覆蓋問題 176
5.8.2 圖表變形問題 177
5.8.3 提高繪圖的速度 178
第6 章 分類型圖表 / 179
6.1 點(diǎn)圖 180
6.1.1 簡(jiǎn)單點(diǎn)圖 180
6.1.2 復(fù)合點(diǎn)圖 181
6.1.3 簡(jiǎn)單滑珠圖 182
6.1.4 復(fù)合滑珠圖 183
6.1.5 分區(qū)滑珠圖 185
6.1.6 啞鈴圖 186
6.1.7 火柴桿圖 189
6.1.8 棒棒糖圖 191
6.2 線形圖 194
6.2.1 簡(jiǎn)單線形圖 194
6.2.2 復(fù)合線形圖 195
6.2.3 平滑線形圖 197
6.2.4 縱向線形圖 198
6.2.5 線形圖+漸變色背景 199
6.2.6 帶形圖 200
6.3 柱狀圖 201
6.3.1 簡(jiǎn)單柱狀圖 201
6.3.2 不同色簡(jiǎn)單柱狀圖 202
6.3.3 漸變色填充簡(jiǎn)單柱狀圖 204
6.3.4 圖案填充簡(jiǎn)單柱狀圖 205
6.3.5 圖片填充簡(jiǎn)單柱狀圖 206
6.3.6 復(fù)合柱狀圖 207
6.3.7 堆疊柱狀圖 208
6.3.8 百分比堆疊柱狀圖 209
6.3.9 重疊柱狀圖 210
6.3.10 水平向漸變色填充復(fù)合柱狀圖 211
6.3.11 三維柱狀圖 212
6.3.12 三維圓錐柱狀圖 214
6.3.13 三維圓柱柱狀圖 215
6.3.14 三維棱錐柱狀圖 217
6.4 條形圖 218
6.4.1 二維條形圖與三維條形圖 218
6.4.2 堆疊條形圖 221
6.4.3 百分比堆疊條形圖 222
6.5 面積圖 223
6.5.1 簡(jiǎn)單面積圖 223
6.5.2 復(fù)合面積圖 224
6.5.3 堆疊面積圖 225
6.5.4 百分比堆疊面積圖 226
6.5.5 漸變色堆疊面積圖 227
6.5.6 三維面積圖 228
6.6 餅圖 230
6.6.1 二維餅圖 230
6.6.2 餅圖扇區(qū)明細(xì)圖 232
6.6.3 三維餅圖 234
6.7 環(huán)狀圖 235
第7 章 數(shù)值型圖表 / 238
7.1 直方圖 239
7.1.1 一元直方圖的繪制方法 239
7.1.2 繪制一元直方圖 241
7.1.3 二元直方圖的繪制方法 244
7.1.4 繪制二元直方圖 246
7.1.5 分箱散點(diǎn)圖 248
7.2 核密度估計(jì)圖 256
7.2.1 一元核密度估計(jì)曲線圖 256
7.2.2 單色填充核密度估計(jì)曲線圖 259
7.2.3 漸變色填充核密度估計(jì)曲線圖 260
7.2.4 多色漸變色填充核密度估計(jì)曲線圖 262
7.2.5 復(fù)合一元核密度估計(jì)曲線圖 263
7.2.6 單色填充山脊圖 266
7.2.7 漸變色填充山脊圖 269
7.2.8 二元核密度估計(jì)曲面圖 271
7.2.9 二元核密度估計(jì)等值線圖 274
7.3 散點(diǎn)圖 275
7.3.1 二維散點(diǎn)圖 275
7.3.2 抖動(dòng)散點(diǎn)圖 277
7.3.3 規(guī)則散點(diǎn)圖 281
7.4 氣泡圖 287
7.4.1 二維氣泡圖 287
7.4.2 三維氣泡圖 289
7.5 熱力圖 290
7.5.1 普通熱力圖 290
7.5.2 圓圈熱力圖 297
7.5.3 方塊熱力圖 303
7.5.4 三角形方塊熱力圖 304
7.6 曲面圖 306
7.6.1 曲面+三維填充等值線圖 307
7.6.2 曲面模型 308
7.6.3 曲面的顏色、透明度和光照 309
7.6.4 等值線圖和填充等值線圖 310
第8 章 統(tǒng)計(jì)圖表 / 313
8.1 數(shù)據(jù)探查 314
8.1.1 描述性統(tǒng)計(jì) 314
8.1.2 頻數(shù)分析和直方圖 316
8.1.3 核密度估計(jì) 317
8.2 箱形圖 319
8.2.1 箱形圖簡(jiǎn)介 319
8.2.2 簡(jiǎn)單箱形圖 320
8.2.3 多色簡(jiǎn)單箱形圖 325
8.2.4 水平多色簡(jiǎn)單箱形圖 326
8.2.5 單色漸變簡(jiǎn)單箱形圖 329
8.2.6 多色漸變簡(jiǎn)單箱形圖 331
8.2.7 簡(jiǎn)單箱形圖疊加均值連線 332
8.2.8 復(fù)合箱形圖 334
8.3 小提琴圖 334
8.3.1 小提琴圖樣式1 335
8.3.2 小提琴圖樣式2 338
8.4 組合圖 340
8.4.1 云雨圖 340
8.4.2 誤差柱狀圖 346
8.4.3 散點(diǎn)柱狀圖 349
8.4.4 散點(diǎn)箱形圖 351
8.5 與概率分布相關(guān)的圖表 354
8.5.1 QQ 圖 355
8.5.2 PP 圖 357
8.6 均值比較 360
8.6.1 配對(duì)圖 360
8.6.2 箱形圖疊加配對(duì)圖 363
8.6.3 誤差柱狀圖疊加配對(duì)圖 365
8.6.4 誤差柱狀圖標(biāo)注檢驗(yàn)顯著性 367
第9 章 用VBA 和C#繪制Excel 圖表 / 370
9.1 用VBA 繪制Excel 圖表 371
9.1.1 用VBA 創(chuàng)建Excel圖表 371
9.1.2 用VBA 美化Excel圖表 371
9.1.3 用VBA 創(chuàng)建新圖表 372
9.2 用C#繪制Excel 圖表 374
9.2.1 用C#繪制Excel 和WPS 表格圖表 374
9.2.2 用C#調(diào)用COM 接口實(shí)現(xiàn)Excel 圖表的自動(dòng)化 375
9.2.3 用EPPlus 庫繪制Excel圖表 383