全書從Python程式語言切入,讓不懂Python的讀者也能快速上手。之後介紹處理數值最重要的套件包括NumPy和Pandas,接下來就是Python最重要的繪圖套件,包括matplotlib、Seaborn和plotnine的圖形語法,以及資料視覺化的顏色主題運用原理。在熟悉了工具之後,就進入本書的高潮,製作各式各樣的圖表,包括直條圖系列、橫條圖系列、南丁格爾玫瑰圖、徑向柱圖等圖表。還有資料關聯式圖表,包含二維和三維散點圖、氣泡圖、等高線圖、立體曲面圖、三元相圖、二維和三維瀑布圖、相關係數熱力圖等。最後更直接畫出了「商業週刊」、「華爾街日報」、「經濟學人」等刊物中最專業的圖表,直接晉升成大師行列。
作者簡介:
張傑
【獅猿狗】數據分析-工業設計獅,程序猿,科研狗。微信公眾號【EasyShu】聯合主創。
著有15篇SCI(E)和SSCI學術論文;出版專著《Excel 數據之美:科學圖表與商業圖表的繪製》、《R語言數據可視化之美:專業圖表繪製指南》、《Python數據可視化之美:專業圖表繪製指南》。
多屆中國R會議數據可視化演講嘉賓;學術研究方向為顏色科學、機器視覺、數據分析與可視化等。
各界推薦
名人推薦:
English only documentation is starting to be a major problem for the scientific python ecosystem. This book provides an introduction to the basic usage of Matplotlib, the underlying structure of the architecture, and several of the high-level libraries built on top of matplotlib. Hopefully, this book will provide the context needed for Chinese speakers to better approach and understand the canonical English documentation of the projects.
Python語言生態圈有一個很主要的問題就是只有英文參考文件。本書介紹了matplotlib套件的基本用法和底層架構,以及建構在Matplotlib套件上幾個高水準的套件(Plotnine、Seaborn和Basemap等)。希望這本書能給中文讀者提供所需的學習內容,更好地幫助讀者學習與了解這些經典的英文技術文件。
Thomas Caswell
Lead Developer of matplotlib ( matplotlib套件的首席開發者)
Github: https://github.com/tacaswell
When trying to understand or communicate information one usually asks, what is the best visualization(s) I can make? If this question often comes to you and that you tend not to have an answer, then "Beautiful Visualizations with Python" is meant for you. Python is an excellent language for data analysis and visualization. Secondly, the book helps you build a practical toolbox for most visualizations that you may want to create. It strikes a delicate balance between a book that introduces and teaches and a gallery that you can always come back to for ideas. It is not one to throw away after reading. As it is titled, you will learn how to turn data in into beautiful visualizations by making the best choices at every step. Most important for me is that it covers the biggest idea in data visualization in the last 20 years, that is, "The Grammar of Graphics".
當盡力去理解與溝通某人常問的資料資訊時,什麼才是我可以實現的資料視覺化?如果你也經常遇到這個問題,而又沒有答案時,這本書就是專門為你準備的。Python是一門用於資料分析與可視化非常優秀的語言,而這本書可以幫你建立你的工具箱,進一步可以實現你想做的大部分的資料視覺化。這本書不僅能給你介紹、教你資料視覺化,而且能幫你尋找資料視覺化的靈感,兩者兼得。這不是一本你看完就可以束之高閣的書。正如這本書名,你會透過本書一步步的教學模式,學習到如何將資料轉換成優美的圖表。更重要的是,這本書涵蓋了近20年來資料視覺化的核心理念,即「圖形語法」。
Hassan Kibirige
Author/ Maintainer of plotnine ( plotnine套件的開發者與維護者)
Github: https://github.com/has2k1
名人推薦:English only documentation is starting to be a major problem for the scientific python ecosystem. This book provides an introduction to the basic usage of Matplotlib, the underlying structure of the architecture, and several of the high-level libraries built on top of matplotlib. Hopefully, this book will provide the context needed for Chinese speakers to better approach and understand the canonical English documentation of the projects.
Python語言生態圈有一個很主要的問題就是只有英文...
作者序
本書主要介紹如何使用Python 中的matplotlib、Seaborn、plotnine、
Basemap 等套件繪製專業圖表。本書首先介紹Python 語言程式設計基礎知識,以及NumPy 和Pandas 的資料操作方法;再比較介紹matplotlib、Seaborn 和plotnine 的圖形語法。本書系統性地介紹了使用matplotlib、Seaborn 和plotnine 繪製類別比較型、資料關聯式、時間序列型、整體局部型、地理空間型等常見的二維和三維圖表的方法。另外,本書也介紹了商業圖表與學術圖表的標準與差異,以及如何使用matplotlib 繪製HTML 互動頁面動畫。
🔵 本書定位
人生苦短,我用Python !
現在Python 語言越來越流行,尤其是在機器視覺、機器學習與深度學習等領域。但是資料視覺化一直是其缺陷,特別是相對R 語言而言。R 語言以ggplot2 套件及其擴充套件人性化的繪圖語法大受使用者的喜愛,特別是生物資訊與醫學研究者。市面上有兩本很經典的R ggplot2 教學:ggplot2 Elegant Graphics for Data Analysis 和R Graphics Cookbook,這兩本書重點介紹了ggplot2 套件的繪圖語法及常見圖表的繪製方法。另外,《R 語言資料視覺化之美:專業圖表繪製指南(增強版)》基於R 中的ggplot2 套件及其擴充套件等,系統性地介紹了幾乎所有常見的二維和三維圖表的繪製方法。
所以,筆者認為很有必要系統性地介紹Python 的繪圖語法系統,包含最基礎也最常用的matplotlib、常用於統計分析的Seaborn、最新出現的類似R ggplot2 語法的plotnine 套件,以及用於地理空間資料視覺化的Basemap 套件。本書首先介紹資料視覺化基礎理論,然後系統性地介紹了幾乎所有常見的二維和三維圖表的繪製方法,包含簡單的直條圖系列、橫條圖系列、聚合線圖系列、地圖系列等。
🔵 適合讀者群
本書適合想學習資料分析與視覺化相關專業課程的大專院校學生,以及對資料分析與視覺化有興趣的職場人士閱讀,尤其是Python 使用者。從軟體掌握程度而言,本書同樣適用於零基礎學習Python 的使用者。
🔵 閱讀指南
全書內容共有11 章,其中,前3 章是後面8 章的基礎,第4 ∼ 10 章都是獨立基礎知識,第11 章是資料視覺化繪圖綜合案例。讀者可以根據實際需求有選擇性地進行學習。
第1 章介紹Python 程式設計基礎,重點介紹資料結構、控制敘述與函數撰寫。
第2 章介紹Python 資料處理基礎,重點介紹NumPy 和Pandas 的資料操作方法,包含NumPy 的數值運算與Pandas 的表格運算。
第3 章介紹Python 資料視覺化基礎,重點介紹了matplotlib、Seaborn 和plotnine 的圖形語法,以及資料視覺化的顏色主題運用原理。
第4 章介紹類別比較型圖表,包含直條圖系列、橫條圖系列、南丁格爾玫瑰圖、徑向柱圖等圖表。
第5 章介紹資料關聯式圖表,包含二維和三維散點圖、氣泡圖、等高線圖、立體曲面圖、三元相圖、二維和三維瀑布圖、相關係數熱力圖等圖表。
第6 章介紹資料分佈型圖表,包含一維、二維和三維的統計長條圖和核心密度估計圖、抖動散點圖、點陣圖、箱形圖、小提琴圖等圖表。
第7 章介紹時間序列型圖表,包含聚合線圖和面積圖系列、日曆圖、量化波形圖等圖表。
第8 章介紹局部整體型圖表,包含餅狀圖、馬賽克圖、華夫圓形圖、點狀直條圖系列等圖表。
第9 章介紹高維資料的視覺化方法,包含分面圖系列、矩陣散點圖、熱力圖、平行座標系圖、RadViz 圖等圖表。
第10 章介紹地理空間型圖表,包含分級統計地圖、點描法地圖、帶氣泡/柱形的地圖、等位地圖、線型地圖、三維柱形地圖等不同的地圖圖表。
第11 章介紹資料視覺化的各種應用場景,包含商業圖表、學術圖表、
HTML 網頁動畫等的標準與製作。
🔵 應用範圍
本書的圖表繪製方法都是以Python 為基礎的matplotlib、Seaborn、
plotnine、Basemap 等套件實現的,幾乎適應於所有常見的二維和三維圖表。本書以虛擬的地圖資料為例說明不同的地理空間型圖表,讀者需將繪圖方法應用到實際的地理空間型圖表。
🔵 適用版本
本書所用Python 版本為:3.7.1; 圖表繪製套件matplotlib、Seaborn、
plotnine、Basemap 和GeoPandas 的版本分別為:3.0.2、0.9.0、0.5.1、1.2.0和0.4.1;資料處理套件NumPy 和Pandas 的版本分別為:1.15.4 和0.23.4。Python 作為免費的開放原始碼軟體,資料分析與視覺化的套件更新反覆運算很快,這是它的優勢。但是有時候有些程式執行可能會由於Python 及其套件的版本的更新,而出現函數棄用(deprecated)的情況。此時,需要自己更新程式,使用新的函數替代原有的函數。
🔵 原始程式碼
本書搭配原始程式碼下載的GitHub 網址為https://github.com/Easy-Shu/Beautiful-Visualization-with-python。本書配有幾乎所有圖表的Python 原始檔案及其CSV 或TXT 格式的資料原始檔案。但是需要注意的是,如果執行的Python 版本沒有安裝對應的資料分析與視覺化的套件(package),那麼請預先安裝對應的套件,才能成功執行程式。同時,也請注意執行Python 及其套件的版本是否已經更新。另,本書原始程式為簡體中文,為求程式正確執行及保持最新版本,本書不另提供繁體中文程式,請讀者至本公司官網或原作者之github 下載原始程式並配合本書執行。
🔵 與作者聯繫
因筆者知識與能力所限,書中紕漏之處在所難免,歡迎並懇請讀者朋友們替予批評與指正,可以透過電子郵件聯繫筆者。如果讀者有關於學術圖表或商業圖表繪製的問題,可以與筆者交流。另外,更多關於圖表繪製的教學請關注筆者的部落格、專欄和微博平台,也可以特別注意微信公眾號:EasyShu,還可以增加筆者微信:EasyCharts。筆者的資料分析與視覺化的文章會優先發表在微信公眾號平台。
本書主要介紹如何使用Python 中的matplotlib、Seaborn、plotnine、
Basemap 等套件繪製專業圖表。本書首先介紹Python 語言程式設計基礎知識,以及NumPy 和Pandas 的資料操作方法;再比較介紹matplotlib、Seaborn 和plotnine 的圖形語法。本書系統性地介紹了使用matplotlib、Seaborn 和plotnine 繪製類別比較型、資料關聯式、時間序列型、整體局部型、地理空間型等常見的二維和三維圖表的方法。另外,本書也介紹了商業圖表與學術圖表的標準與差異,以及如何使用matplotlib 繪製HTML 互動頁面動畫。
🔵 本書定位
人生苦短,我用Python ...
目錄
01 Python 程式設計基礎
1.1 Python 基礎知識
1.2 6 種常用資料結構
1.3 控制敘述與函數撰寫
02 資料處理基礎
2.1 NumPy:數值運算
2.2 Pandas:表格處理
03 資料視覺化基礎
3.1 matplotlib
3.2 Seaborn
3.3 plotnine
3.4 視覺化色彩的運用原理
3.5 圖表的基本類型
04 類別比較型圖表
4.1 直條圖系列
4.2 橫條圖系列
4.3 不等寬直條圖
4.4 克里夫蘭點圖
4.5 坡度圖
4.6 南丁格爾玫瑰圖
4.7 徑向柱圖
4.8 雷達圖
4.9 詞雲圖
05 資料關聯式圖表
5.1 散點圖系列
5.2 曲面擬合
5.3 等高線圖
5.4 散點曲線圖系列
5.5 瀑布圖
5.6 相關係數圖
06 資料分佈型圖表
6.1 統計長條圖和核心密度估計圖
6.2 資料分佈圖表系列
6.3 二維統計長條圖和核心密度估計圖
07 時間序列型圖表
7.1 聚合線圖與面積圖系列
7.2 日曆圖
7.3 量化波形圖
08 局部整體型圖表
8.1 餅狀圖系列
8.2 馬賽克圖
8.3 鬆餅圖
8.4 塊狀/ 點狀直條圖系列
09 高維資料型圖表
9.1 高維資料的轉換展示
9.2 分面圖
9.3 矩陣散點圖
9.4 熱力圖
9.5 平行座標系圖
9.6 RadViz 圖
10 地理空間型圖表
10.1 不同等級的地圖
10.2 分級統計地圖
10.3 點描法地圖
10.4 帶柱形的地圖
10.5 等值線圖
10.6 點狀地圖
10.7 簡化示意圖
10.8 郵標法
11 資料視覺化案例
11.1 商業圖表繪製範例
11.2 學術圖表繪製範例
11.3 資料分析與視覺化案例
11.4 動態資料視覺化示範
參考文獻
後記
01 Python 程式設計基礎
1.1 Python 基礎知識
1.2 6 種常用資料結構
1.3 控制敘述與函數撰寫
02 資料處理基礎
2.1 NumPy:數值運算
2.2 Pandas:表格處理
03 資料視覺化基礎
3.1 matplotlib
3.2 Seaborn
3.3 plotnine
3.4 視覺化色彩的運用原理
3.5 圖表的基本類型
04 類別比較型圖表
4.1 直條圖系列
4.2 橫條圖系列
4.3 不等寬直條圖
4.4 克里夫蘭點圖
4.5 坡度圖
4.6 南丁格爾玫瑰圖
4.7 徑向柱圖
4.8 雷達圖
4.9 詞雲圖
05 資料關聯式圖表
5.1 散點圖系列
5.2 曲面擬合
5.3 等高線圖...
購物須知
關於二手書說明:
商品建檔資料為新書及二手書共用,因是二手商品,實際狀況可能已與建檔資料有差異,購買二手書時,請務必檢視商品書況、備註說明及書況影片,收到商品將以書況影片內呈現為準。若有差異時僅可提供退貨處理,無法換貨或再補寄。
商品版權法律說明:
TAAZE 單純提供網路二手書託售平台予消費者,並不涉入書本作者與原出版商間之任何糾紛;敬請各界鑒察。
退換貨說明:
二手書籍商品享有10天的商品猶豫期(含例假日)。若您欲辦理退貨,請於取得該商品10日內寄回。
二手影音商品(例如CD、DVD等),恕不提供10天猶豫期退貨。
二手商品無法提供換貨服務,僅能辦理退貨。如須退貨,請保持該商品及其附件的完整性(包含書籍封底之TAAZE物流條碼)。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱
退換貨原則、
二手CD、DVD退換貨說明。