官术网_书友最值得收藏!

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變量的視覺通道映射,用來表示變量xy,還可以用來控制顏色(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():主題設定,主要用于調整圖表的細節,包括圖表背景顏色、網格線的間隔與顏色等。

主站蜘蛛池模板: 渭源县| 会理县| 墨玉县| 和田县| 承德县| 惠州市| 南岸区| 怀化市| 襄垣县| 枞阳县| 绥阳县| 桃园县| 黄冈市| 莱州市| 怀仁县| 武川县| 根河市| 图木舒克市| 安吉县| 宁海县| 偃师市| 湖北省| 富阳市| 大港区| 子洲县| 普定县| 明溪县| 桐庐县| 永福县| 武夷山市| 定襄县| 巫山县| 三明市| 梁平县| 怀仁县| 临湘市| 依兰县| 凭祥市| 凌海市| 随州市| 安多县|