- R語言數據可視化之美:專業圖表繪制指南
- 張杰
- 945字
- 2019-09-20 14:52:43
1.6 ggplot2圖形語法
ggplot2是一個功能強大且靈活的R包,由Hadley Wickham編寫,它可以生成優雅而實用的圖形。ggplot2中的gg表示圖形語法(grammar of graphic),這是一個通過使用“語法”來繪圖的圖形概念。ggplot2主張模塊間的協調與分工,整個ggplot2的語法框架如圖1-6-1所示,主要包括數據繪圖部分與美化細節部分。R ggplot2圖形語法的主要特點如下所示。

圖1-6-1 ggplot2語法框架
(1)采用圖層的設計方式,有利于結構化思維實現數據可視化。有明確的起始(ggplot()開始)與終止,圖層之間的疊加是靠“+”實現的,越往后,其圖層越在上方。通常一條geom_×××()函數或stat_×××()函數可以繪制一個圖層。
(2)將表征數據和圖形細節分開,能快速將圖形表現出來,使創造性的繪圖更加容易實現。而且通過stat_×××()函數將常見的統計變換融入繪圖中。
(3)圖形美觀,擴展包(extension package)豐富,有專門調整顏色(color)、字體(font)和主題(theme)等輔助包??梢詭椭脩艨熳x定制個性化的圖表。
ggplot2的繪圖基本語法結構如圖1-6-2所示。其中所需的圖表輸入信息如下所示。

圖1-6-2 ggplot2繪圖的基本語法結構
(1)ggplot():底層繪圖函數。DATA為數據集,主要是數據框(data.frame)格式的數據集;MAPPINGS變量的視覺通道映射,用來表示變量x和y,還可以用來控制顏色(color)、大小(size)或形狀(shape)等視覺通道;STAT表示統計變換,與stat_×××()相對應,默認為"identity"(無數據變換);POSITION表示繪圖數據系列的位置調整,默認為"identity"(無位置調整),關于POSITION的具體內容可見第3章3.1節。
(2)geom_×××() | stat_×××():幾何圖層或統計變換,比如常見的geom_point()(散點圖)、geom_bar()(柱形圖)、geom_histogram()(統計直方圖)、geom_ boxplot()(箱形圖)、geom_line()(折線圖)等。我們通常使用geom_×××()函數就可以繪制大部分圖表,有時候通過設定stat參數可以先實現統計變換。
可選的圖表輸入信息包括如下5個部分,主要是實現圖表的美化與變換等。
(1)scale_×××():度量調整,調整具體的度量,包括顏色(color)、大?。╯ize)或形狀(shape)等,跟MAPPINGS的映射變量相對應;
(2)coord_×××():坐標變換,默認笛卡兒坐標系,還包括極坐標系、地理空間坐標系等;
(3)facet_×××():分面系統,將某個變量進行分面變換,包括按行、列和網格等形式分面繪圖,這部分內容具體可見第9章9.4節。
(4)guides():圖例調整,主要包括連續型和離散型兩種類型的圖例。
(5)theme():主題設定,主要用于調整圖表的細節,包括圖表背景顏色、網格線的間隔與顏色等。
- The Android Game Developer's Handbook
- Spring Cloud Alibaba微服務架構設計與開發實戰
- R語言數據可視化之美:專業圖表繪制指南
- Learning Bayesian Models with R
- RTC程序設計:實時音視頻權威指南
- Securing WebLogic Server 12c
- Node.js:來一打 C++ 擴展
- Python算法詳解
- MATLAB GUI純代碼編寫從入門到實戰
- 超好玩的Scratch 3.5少兒編程
- 微前端設計與實現
- 軟件測試(慕課版)
- 利用Python駕馭Stable Diffusion:原理解析、擴展開發與高級應用(智能系統與技術叢書)
- Image Processing with ImageJ(Second Edition)
- Go語言從入門到項目實戰(視頻版)