這50個ggplot2現成圖表你居然沒有從頭到尾自己畫一遍
我比較喜歡ggplot2+AI 來做科研繪圖, 當然,有高手可以獨立使用ggplot2調整全部圖表細節,完全不使用AI。
不過,我做不到,我只能做到的是可以繪製出幾乎全部的圖表的雛形,而且我個人覺得,把ggplot2學習到這個程度就足夠了。一張統計圖就是從數據到幾何對象(點、線、條形等)的圖形屬性(顏色、形狀、大小等)的一個映射。
- ✦ 數據(Data),最基礎的是可視化的數據和一系列圖形映射(aesthetic mappings),該映射描述了數據中的變量如何映射到可見的圖形屬性。
- ✦ 幾何對象(Geometric objects, geoms)代表在圖中實際看到的點、線、多邊形等。
- ✦ 統計轉換(Statistical trassformations, stats)是對數據進行某種匯總,例如將數據分組創建直方圖,或將一個二維的關係用線性模型進行解釋。
- ✦ 標度(Scales)是將數據的取值映射到圖形空間,例如用顏色、大小或形狀來表示不同的取值,展現標度的常見做法是繪製圖例和坐標軸。
- ✦ 坐標系(Coordinate system, coord)描述數據是如何映射到圖形所在的平面,同時提供看圖所需的坐標軸和網格線。
- ✦ 分面(faceting)如何將數據分解為子集,以及如何對子集作圖並展示。
- ✦ 主題(theme)控制細節顯示,例如字體大小和圖形的背景色。
我在幾年前《生信五週年》全國巡講的活動重點推薦過《50個ggplot2現成圖表》代碼希望大家可以學習它!
鏈接是:
至少第一張圖就元素豐富,基本上涵蓋了絕大部分ggplot2的語法:

這個教程側重於8個單元:
- 展現單個連續變量:散點圖,折線圖,氣泡圖
- 進階條形圖:區域圖
- 展現排序:棒棒糖圖
- 展現連續變量的統計分佈:條形圖,箱線圖,小提琴圖,峰巒圖
- 時序圖展現變化:
- 展現組成成分:餅圖,馬賽克圖,
- 聚類:層次聚類,主成分
- 空間:地圖
當然了,這並不是最佳或者說最合理的劃分模式,不過對初學者來說,掌握這些代碼打基礎已經算是不錯了。
另外推薦5個ggplot2資源
ggplot2作者親自寫的書
鏈接:
書名是:ggplot2: Elegant Graphics for Data Analysis 作者:Hadley Wickham
This is the online version of work-in-progress 3rd edition of “ggplot2: elegant graphics for data analysis”
雖然這本書有對應的中文譯本,但是時間上相對滯後,建議直接看這個在線實時更新版本。
知識點參考卡片(速記表,小抄)
鏈接:
sthda網站的ggplot核心圖表範例
鏈接:
書籍本身提供售賣,價格是17歐元,不過內容都是電子化了,大家直接網頁瀏覽,就是免費的哈!
繪圖菜譜
鏈接:
這個有中文翻譯版本,務必直接下單購買,放在書桌旁邊隨時翻閱。
最後一個是
你會發現,你想實現的各種稀奇古怪的繪圖需求,只需要你能使用英文描述出來,就是能找到答案的!
- 用谷歌搜索來使用ggplot2做可視化(上):
- 用谷歌搜索來使用ggplot2做可視化(下):
如果我說,全部學完,需要一年的時間,不知道你還是否願意入坑呢?
不過,如果你是R語言都沒有掌握好,那麼可能需要先學習我給初學者的六步系統入門R語言,
- 了解常量和變量概念
- 加減乘除等運算(計算器)
- 多種數據類型(數值,字符,邏輯,因子)
- 多種數據結構(向量,矩陣,數組,數據框,列表)
- 文件讀取和寫出
- 簡單統計可視化
- 無限量函數學習
參考:《