本書主要介紹了如何使用Python 進(jìn)行數(shù)據(jù)可視化,并通過對比Excel 的方式來學(xué)習(xí)對應(yīng)的Python 代碼。全書內(nèi)容圍繞4 種基礎(chǔ)圖表類型展開,分別介紹了比較關(guān)系型圖表、聯(lián)系關(guān)系型圖表、分布關(guān)系型圖表和構(gòu)成關(guān)系型圖表的繪制方法。對于每種圖表,本書均提供了 Matplotlib、Pyecharts 和Seaborn 共3 種Python 庫的實(shí)現(xiàn)方式。通過閱讀本書,讀者不僅能夠?qū)W習(xí)數(shù)據(jù)可視化的基本概念,還能夠掌握一種圖表的多種實(shí)現(xiàn)方式。這樣在工作中遇到具體需求時(shí),讀者可以根據(jù)實(shí)際情況靈活選擇合適的圖表繪制方法,從而提高數(shù)據(jù)展示的效率,達(dá)到良好的數(shù)據(jù)展示效果。
張俊紅:某互聯(lián)網(wǎng)公司數(shù)據(jù)分析專家,暢銷書作家;“對比Excel”系列圖書作者,代表作《對比Excel,輕松學(xué)習(xí)Python數(shù)據(jù)分析》累計(jì)銷量突破200000冊;喜歡分享,致力于做一個(gè)數(shù)據(jù)科學(xué)路上的終身學(xué)習(xí)者、實(shí)踐者、分享者;公眾號(hào)“俊紅的數(shù)據(jù)分析之路”的運(yùn)營者。
第1 章 數(shù)據(jù)可視化的基礎(chǔ)概念 / 1
1.1 什么是數(shù)據(jù)可視化.......................................................................................... 1
1.2 為什么要進(jìn)行數(shù)據(jù)可視化 .............................................................................. 1
1.2.1 數(shù)據(jù)可視化能夠高效、簡潔地傳遞信息 .......................................... 1
1.2.2 數(shù)據(jù)可視化能夠提供更加豐富的信息 .............................................. 2
1.3 數(shù)據(jù)可視化的基本步驟 .................................................................................. 3
1.4 數(shù)據(jù)可視化的圖表分類 .................................................................................. 4
1.4.1 圖表的基本組件 .................................................................................. 4
1.4.2 基于基本組件組合的圖表類型 .......................................................... 5
1.4.3 圖表的分類與選擇 .............................................................................. 6
1.5 數(shù)據(jù)可視化的基本原則 .................................................................................. 7
1.5.1 格式塔原則 .......................................................................................... 7
1.5.2 墨水比原則 .......................................................................................... 9
1.5.3 CRAP 設(shè)計(jì)原則 ................................................................................ 10
第2 章 圖表的組成元素及實(shí)現(xiàn)方式 / 12
2.1 圖表的基本組成元素 .................................................................................... 12
2.2 圖表常用組成元素的設(shè)置 ............................................................................ 13
2.2.1 圖表標(biāo)題的設(shè)置 ................................................................................ 13
2.2.2 坐標(biāo)軸標(biāo)題的設(shè)置 ............................................................................ 14
2.2.3 網(wǎng)格線的設(shè)置 .................................................................................... 15
2.2.4 坐標(biāo)軸的設(shè)置 .................................................................................... 15
2.2.5 圖例的設(shè)置 ........................................................................................ 16
2.2.6 圖表字體的選擇 ................................................................................ 16
2.2.7 配色 .................................................................................................... 17
2.2.8 最終效果的對比 ................................................................................ 22
2.3 數(shù)據(jù)可視化的常用工具及選擇 .................................................................... 22
2.3.1 數(shù)據(jù)可視化的常用工具 .................................................................... 22
2.3.2 如何高效地學(xué)習(xí)不同的數(shù)據(jù)可視化工具 ........................................ 25
2.3.3 為什么要學(xué)習(xí)多種數(shù)據(jù)可視化工具 ................................................ 25
第3 章 Matplotlib / 26
3.1 Matplotlib 的基礎(chǔ)介紹 .................................................................................. 26
3.2 Matplotlib 中圖表的組成元素 ...................................................................... 26
3.3 圖表各元素的實(shí)現(xiàn)及設(shè)置 ............................................................................ 27
3.3.1 畫布的建立 ........................................................................................ 27
3.3.2 規(guī)則坐標(biāo)系的建立 ............................................................................ 29
3.3.3 不規(guī)則坐標(biāo)系的建立 ........................................................................ 36
3.3.4 坐標(biāo)軸的設(shè)置 .................................................................................... 38
3.3.5 網(wǎng)格線的設(shè)置 .................................................................................... 44
3.3.6 圖例的設(shè)置 ........................................................................................ 45
3.3.7 數(shù)據(jù)標(biāo)簽的設(shè)置 ................................................................................ 47
3.3.8 圖表注釋的設(shè)置 ................................................................................ 48
3.3.9 數(shù)據(jù)表的設(shè)置 .................................................................................... 49
3.3.10 圖表標(biāo)題的設(shè)置 .............................................................................. 51
3.4 一個(gè)完整圖表的繪制 .................................................................................... 53
3.4.1 一個(gè)完整圖表的繪制流程 ................................................................ 53
3.4.2 顯式編程與隱式編程 ........................................................................ 55
3.5 關(guān)于Matplotlib 的其他一些問題 ................................................................. 55
3.5.1 如何解決中文亂碼的問題 ................................................................ 55
3.5.2 圖表樣式的設(shè)置 ................................................................................ 56
3.6 常用的圖表類型 ........................................................................................... 59
第4 章 Pyecharts / 60
4.1 Pyecharts 的基礎(chǔ)介紹 ................................................................................... 60
4.2 圖表各元素的實(shí)現(xiàn)及設(shè)置 ............................................................................ 61
4.3 一個(gè)完整圖表的繪制 .................................................................................... 62
4.4 圖表樣式的設(shè)置 ........................................................................................... 65
4.5 常用的圖表類型 ........................................................................................... 66
第5 章 Seaborn / 67
5.1 Seaborn 的基礎(chǔ)介紹 ..................................................................................... 67
5.2 圖表各元素的實(shí)現(xiàn)及設(shè)置 ............................................................................ 67
5.3 圖表樣式的設(shè)置 ........................................................................................... 69
5.4 常用的圖表類型 ........................................................................................... 70
第6 章 比較關(guān)系型圖表的繪制 / 72
6.1 折線圖 ........................................................................................................... 72
6.1.1 Excel 的實(shí)現(xiàn) ...................................................................................... 73
6.1.2 Matplotlib 的實(shí)現(xiàn) .............................................................................. 73
6.1.3 Pyecharts 的實(shí)現(xiàn) ............................................................................... 76
6.1.4 Seaborn 的實(shí)現(xiàn) .................................................................................. 78
6.2 雙折線圖 ....................................................................................................... 79
6.2.1 Excel 的實(shí)現(xiàn) ...................................................................................... 79
6.2.2 Matplotlib 的實(shí)現(xiàn) .............................................................................. 79
6.2.3 Pyecharts 的實(shí)現(xiàn) ............................................................................... 80
6.2.4 Seaborn 的實(shí)現(xiàn) .................................................................................. 81
6.3 雙Y 軸的雙折線圖 ....................................................................................... 85
6.3.1 Excel 的實(shí)現(xiàn) ...................................................................................... 85
6.3.2 Matplotlib 的實(shí)現(xiàn) .............................................................................. 85
6.3.3 Pyecharts 的實(shí)現(xiàn) ............................................................................... 87
6.3.4 Seaborn 的實(shí)現(xiàn) .................................................................................. 88
6.4 柱形圖 ........................................................................................................... 89
6.4.1 Excel 的實(shí)現(xiàn) ...................................................................................... 89
6.4.2 Matplotlib 的實(shí)現(xiàn) .............................................................................. 90
6.4.3 Pyecharts 的實(shí)現(xiàn) ............................................................................... 92
6.4.4 Seaborn 的實(shí)現(xiàn) .................................................................................. 93
6.5 簇狀柱形圖 ................................................................................................... 93
6.5.1 Excel 的實(shí)現(xiàn) ...................................................................................... 93
6.5.2 Matplotlib 的實(shí)現(xiàn) .............................................................................. 94
6.5.3 Pyecharts 的實(shí)現(xiàn) ............................................................................... 95
6.5.4 Seaborn 的實(shí)現(xiàn) .................................................................................. 97
6.6 條形圖 ........................................................................................................... 97
6.6.1 Excel 的實(shí)現(xiàn) ...................................................................................... 98
6.6.2 Matplotlib 的實(shí)現(xiàn) .............................................................................. 99
6.6.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 100
6.6.4 Seaborn 的實(shí)現(xiàn) ................................................................................ 101
6.7 簇狀條形圖 ................................................................................................. 102
6.7.1 Excel 的實(shí)現(xiàn) .................................................................................... 102
6.7.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 102
6.7.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 103
6.7.4 Seaborn 的實(shí)現(xiàn) ................................................................................ 104
6.8 棉棒圖 ......................................................................................................... 105
6.9 熱力圖 ......................................................................................................... 107
6.9.1 Excel 的實(shí)現(xiàn) .................................................................................... 107
6.9.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 108
6.9.3 Pyecharts 的實(shí)現(xiàn) .............................................................................. 110
6.9.4 Seaborn 的實(shí)現(xiàn) ................................................................................. 111
6.10 雷達(dá)圖 ........................................................................................................ 112
6.10.1 Excel 的實(shí)現(xiàn) ................................................................................... 113
6.10.2 Matplotlib 的實(shí)現(xiàn) ........................................................................... 113
6.10.3 Pyecharts 的實(shí)現(xiàn) ............................................................................ 115
6.11 儀表圖 ........................................................................................................ 116
6.12 水球圖 ........................................................................................................ 117
6.13 詞云圖 ........................................................................................................ 118
第7 章 聯(lián)系關(guān)系型圖表的繪制 / 120
7.1 散點(diǎn)圖 ......................................................................................................... 120
7.1.1 Excel 的實(shí)現(xiàn) .................................................................................... 120
7.1.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 121
7.1.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 122
7.1.4 Seaborn 的實(shí)現(xiàn) ................................................................................ 124
7.2 雙散點(diǎn)圖 ..................................................................................................... 124
7.2.1 Excel 的實(shí)現(xiàn) .................................................................................... 125
7.2.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 125
7.2.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 126
7.2.4 Seaborn 實(shí)現(xiàn) .................................................................................... 127
7.3 關(guān)系圖 ......................................................................................................... 128
7.4 回歸擬合圖 ................................................................................................. 130
7.4.1 Excel 的實(shí)現(xiàn) .................................................................................... 130
7.4.2 Seaborn 的實(shí)現(xiàn) ................................................................................ 131
7.5 多回歸擬合圖 ............................................................................................. 133
7.5.1 Excel 的實(shí)現(xiàn) .................................................................................... 133
7.5.2 Seaborn 的實(shí)現(xiàn) ................................................................................ 133
7.6 氣泡圖 ......................................................................................................... 135
7.6.1 Excel 的實(shí)現(xiàn) .................................................................................... 135
7.6.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 135
7.6.3 Seaborn 的實(shí)現(xiàn) ................................................................................ 139
7.7 波士頓矩陣圖 ............................................................................................. 139
7.8 平行坐標(biāo)系圖 ............................................................................................. 141
第8 章 分布關(guān)系型圖表 / 144
8.1 直方圖 ......................................................................................................... 144
8.1.1 Excel 的實(shí)現(xiàn) .................................................................................... 144
8.1.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 145
8.1.3 Seaborn 的實(shí)現(xiàn) ................................................................................ 146
8.2 概率密度圖 ................................................................................................. 148
8.3 雙概率密度圖 ............................................................................................. 150
8.4 地毯圖 ......................................................................................................... 151
8.5 累積分布圖 ................................................................................................. 152
8.6 雙累積分布圖 ............................................................................................. 154
8.7 箱形圖 ......................................................................................................... 155
8.7.1 Excel 的實(shí)現(xiàn) .................................................................................... 156
8.7.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 156
8.7.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 157
8.7.4 Seaborn 的實(shí)現(xiàn) ................................................................................ 159
8.8 雙箱形圖 ..................................................................................................... 160
8.7.1 Excel 的實(shí)現(xiàn) .................................................................................... 160
8.7.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 160
8.7.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 161
8.7.4 Seaborn 的實(shí)現(xiàn) ................................................................................ 161
8.8 K 線圖 ......................................................................................................... 163
8.9 小提琴圖 ..................................................................................................... 165
8.9.1 Matplotlib 的實(shí)現(xiàn) ............................................................................ 165
8.9.2 Seaborn 的實(shí)現(xiàn) ................................................................................ 166
8.10 雙小提琴圖 ............................................................................................... 167
8.10.1 Matplotlib 的實(shí)現(xiàn) .......................................................................... 168
8.10.2 Seaborn 的實(shí)現(xiàn) .............................................................................. 168
8.11 誤差線圖 ................................................................................................... 170
8.11.1 Matplotlib 的實(shí)現(xiàn) .......................................................................... 170
8.11.2 Seaborn 的實(shí)現(xiàn) .............................................................................. 172
8.12 雙誤差線圖 ............................................................................................... 173
8.12.1 Matplotlib 的實(shí)現(xiàn) .......................................................................... 173
8.12.2 Seaborn 的實(shí)現(xiàn) .............................................................................. 174
8.13 條帶圖 ....................................................................................................... 175
8.14 蜂群圖 ....................................................................................................... 177
8.15 事件圖 ....................................................................................................... 178
第9 章 構(gòu)成關(guān)系型圖表 / 180
9.1 餅圖 ............................................................................................................. 180
9.1.1 Excel 實(shí)現(xiàn) ........................................................................................ 180
9.1.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 181
9.1.2 Pyecharts 的實(shí)現(xiàn) ............................................................................. 182
9.2 圓環(huán)圖 ......................................................................................................... 183
9.2.1 Excel 的實(shí)現(xiàn) .................................................................................... 183
9.2.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 183
9.2.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 184
9.3 旭日圖 ......................................................................................................... 185
9.3.1 Excel 的實(shí)現(xiàn) .................................................................................... 185
9.3.2 Pyecharts 的實(shí)現(xiàn) ............................................................................. 186
9.4 矩陣樹形圖 ................................................................................................. 188
9.4.1 Excel 的實(shí)現(xiàn) .................................................................................... 188
9.4.2 Pyecharts 的實(shí)現(xiàn) ............................................................................. 188
9.5 面積圖 ......................................................................................................... 190
9.5.1 Excel 的實(shí)現(xiàn) .................................................................................... 190
9.5.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 191
9.6 堆積柱形圖 ................................................................................................. 192
9.6.1 Excel 的實(shí)現(xiàn) .................................................................................... 192
9.6.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 193
9.6.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 194
9.7 瀑布圖 ......................................................................................................... 195
9.7.1 Excel 的實(shí)現(xiàn) .................................................................................... 195
9.7.2 Matplotlib 的實(shí)現(xiàn) ............................................................................ 196
9.7.3 Pyecharts 的實(shí)現(xiàn) ............................................................................. 197
9.8 桑吉圖 ......................................................................................................... 198
9.9 漏斗圖 ......................................................................................................... 200
9.9.1 Excel 的實(shí)現(xiàn) .................................................................................... 200
9.9.2 Pyecharts 的實(shí)現(xiàn) ............................................................................. 200
第10 章 其他類型圖表的繪制 / 202
10.1 為圖表添加標(biāo)記點(diǎn) ................................................................................... 202
10.1.1 Matplotlib 的實(shí)現(xiàn) .......................................................................... 202
10.1.2 Pyecharts 的實(shí)現(xiàn) ........................................................................... 203
10.2 為圖表添加標(biāo)記線 ................................................................................... 206
10.2.1 Matplotlib 的實(shí)現(xiàn) .......................................................................... 206
10.2.2 Pyecharts 的實(shí)現(xiàn) ........................................................................... 207
10.3 為圖表添加標(biāo)記區(qū)域 ............................................................................... 210
10.3.1 Matplotlib 的實(shí)現(xiàn) .......................................................................... 210
10.3.2 Pyecharts 的實(shí)現(xiàn) ............................................................................ 211
10.4 組合圖表的繪制 ....................................................................................... 213
10.4.1 Excel 的實(shí)現(xiàn) .................................................................................. 213
10.4.2 Matplotlib 的實(shí)現(xiàn) .......................................................................... 213
10.4.3 Pyecharts 的實(shí)現(xiàn) ........................................................................... 214
10.4.4 Seaborn 的實(shí)現(xiàn) .............................................................................. 215
10.5 分面圖表的繪制 ....................................................................................... 216
10.5.1 Matplotlib 的實(shí)現(xiàn) .......................................................................... 216
10.5.2 Pyecharts 的實(shí)現(xiàn) ........................................................................... 217
10.5.3 Seaborn 的實(shí)現(xiàn) .............................................................................. 220
10.6 動(dòng)態(tài)圖表的繪制 ....................................................................................... 222
第11 章 ChatGPT 在數(shù)據(jù)可視化中的應(yīng)用 / 224
11.1 使用ChatGPT 直接生成圖表 ................................................................... 224
11.2 使用文心一言直接生成圖表 .................................................................... 232
11.3 使用ChatGPT 選擇合適的圖表類型 ....................................................... 235
11.4 使用ChatGPT 生成相應(yīng)的可視化建議 ................................................... 236
11.5 使用ChatGPT 給出不同工具的實(shí)現(xiàn)方式 ............................................... 237
11.6 使用ChatGPT 解讀圖表 ........................................................................... 239
11.7 使用ChatGPT 進(jìn)行故事化呈現(xiàn) ............................................................... 240
第12 章 數(shù)據(jù)可視化案例 / 242
12.1 訂單量分日趨勢可視化 ........................................................................... 242
12.2 品類增長潛力可視化 ............................................................................... 244
12.3 用戶在線時(shí)長可視化 ............................................................................... 246
12.4 指標(biāo)異動(dòng)貢獻(xiàn)度可視化 ........................................................................... 247