第一章 R繪圖簡介
R的圖形繪制模式遵循“畫家模型”灾茁,即逐步繪制圖形元素若河,在當前已繪制圖形的基礎(chǔ)上添加后續(xù)元素。
1.1 R繪圖示例
1.1.1 標準繪圖
R提供了標準統(tǒng)計圖形所囊括的通用工具,包括散點圖
、箱線圖
膀息、直方圖
般眉、條形圖
了赵、餅圖
以及基本的三維圖形
,這些基本的繪圖類型可以通過一個簡單的函數(shù)調(diào)用繪制甸赃,這些圖形也可以被視為繪制更復雜圖形的起點柿汛。
在基本圖形單元的基礎(chǔ)上添加更多圖形元素進而繪制出最后的完整圖形是R的基本特征。
關(guān)于標準繪圖更詳細的內(nèi)容將在后面的第2埠对、3章络断。
1.1.2 框架圖
除了基礎(chǔ)的統(tǒng)計繪圖,R還通過lattice包實現(xiàn)了繪制框架圖(trellis plots)项玛。
框架圖包含了大量的設(shè)計原則貌笨,確保通過統(tǒng)計圖形準確而忠實地傳遞數(shù)據(jù)背后的信息,這些原則貫穿于大量新型繪圖類型襟沮、默認顏色锥惋、符號形狀以及線條樣式的選擇中昌腰。
框架圖還提供一項特性:“
條件多框圖
”,其將數(shù)據(jù)按其他因子的水平分割成數(shù)據(jù)的不同子集膀跌,并按子集逐個繪制出一個多框統(tǒng)計圖形遭商,框圖上方用一個條帶
顯示子集的名稱。
更多關(guān)于框架圖的介紹以及如何利用lattice包繪制框架圖的內(nèi)容參照后面的第4章捅伤。
1.1.3 繪圖語法
ggplot2包提供了另一個完全不同的繪圖范式來繪制統(tǒng)計圖形劫流。
它可以通過一組相對較小的基礎(chǔ)圖形元素集合繪制出大量不同種類的統(tǒng)計圖形。
ggplot2包還有一個被稱為
分面
的特性丛忆,該特性類似于lattice包的多框架圖祠汇。
更多關(guān)于ggplot2包的內(nèi)容參見后面的第5章。
1.1.4 繪制專門的圖形
R還提供了繪制單一圖形單元的函數(shù)熄诡,例如線段座哩、文本、矩形以及多邊形粮彤,這為用戶定義自己的函數(shù)去創(chuàng)建更多專業(yè)領(lǐng)域的圖形提供了便利根穷。
1.1.5 繪圖背景綜述
R繪圖功能的通用性和靈活性:
R可以將文本以表格樣式組織起來作為圖形元素嵌入圖形中(e.g. meta分析典型結(jié)果)。
R可以繪制用于輔助可視化方式演示重要概念和教學要點的圖形导坟。
1.2 R繪圖系統(tǒng)的組織結(jié)構(gòu)
在R繪圖工具庫中占據(jù)核心地位的是grDevices包屿良,也可以被稱為繪圖引擎。
在繪圖引擎的基礎(chǔ)上直接搭建了兩個包:graphics包和grid包惫周。這兩個包代表著兩個巨大的不相容的繪圖系統(tǒng)
尘惧,并將R的繪圖功能從主體上分割成了兩個不同的部分。
graphics包递递,也被稱為
基礎(chǔ)繪圖系統(tǒng)
喷橙,提供了創(chuàng)建一系列豐富的通用圖形要用到的完整函數(shù)。grid包登舞,并沒有提供繪制完整圖形的函數(shù)贰逾,但人們廣泛使用基于grid所開發(fā)的繪圖包中的函數(shù),特別是
lattice包
和ggplot2包
菠秒。
基礎(chǔ)繪圖與grid繪圖
R中存在兩個不同的繪圖系統(tǒng):基礎(chǔ)繪圖系統(tǒng)
和grid繪圖系統(tǒng)
疙剑。如何選擇?
總結(jié):grid繪圖系統(tǒng)通常會被優(yōu)先使用践叠,它能夠提供更多有效并且復雜精細的選項言缤,并且在創(chuàng)建新的繪圖函數(shù)供他人使用時,也提供了比基礎(chǔ)繪圖系統(tǒng)更好地支持禁灼,但是基于grid的繪圖系統(tǒng)速度明顯慢于基礎(chǔ)繪圖系統(tǒng)管挟。