Lattice
位於 lattice
包(package)。 說明
lattice
add-on 包是 Trellis 圖形的實現R。它是一個函數強大且優雅的高級數據可視化係統,重點關注多元數據。它旨在以最少的調整滿足大多數典型的圖形需求,但也可以輕鬆擴展以處理大多數非標準要求。
細節
Trellis Graphics 最初是在貝爾實驗室為 S 和 S-PLUS 開發的,是由 R. A. Becker、W. S. Cleveland 等人開發的數據可視化框架,擴展了 Cleveland 1993 年出版的《可視化數據》一書中提出的思想。 Lattice API基於S中的原始設計,但在很多方麵對其進行了擴展。
萊迪思用戶接口主要由幾個“高級”通用函數(在下麵的“See Also”部分列出)組成,每個函數都設計用於默認創建特定類型的顯示。盡管這些函數產生不同的輸出,但它們具有許多共同的特征,反映在以類似方式影響結果顯示的幾個共同參數中。這些參數在 xyplot
的幫助頁麵中進行了廣泛(有時僅)記錄,其中還包括對格子布局的調節和控製的重要主題的討論。其他高級函數的特定函數記錄在其各自的幫助頁麵中。
萊迪思采用了廣泛的user-controllable設置係統來確定其生成的顯示的外觀和感覺。要了解如何使用和自定義點陣使用的圖形參數,請參閱trellis.par.set
。有關其他設置,請參閱lattice.options
。對於不同的圖形設備,默認圖形設置(可能)不同。要了解如何使用所需的設置初始化新設備或更改當前設備的設置,請參閱trellis.device
。
能夠在單個頁麵上繪製多個點陣圖通常是不必要的,但有時很重要。 print.trellis
幫助頁麵中說明了此類函數。請參閱update.trellis
了解如何操作"trellis"
對象。 trellis.focus
幫助頁麵中說明了繪製格子圖後增強格子圖的工具(包括類似 locator
的函數)。
軟件包隨附的在線文檔是完整的,並且已盡力以邏輯順序呈現幫助頁麵,以便人們可以通過閱讀 https://cran.r-project.org/package=lattice 上提供的 PDF 參考手冊來學習如何使用lattice。然而,在線文檔的編寫格式和涵蓋的主題的廣度必然使其有些簡潔,並且作為初次介紹不太理想。為了更溫和的介紹,Springer 的“Use R”係列中有一本關於格子的書;請參閱下麵的“References”部分。
注意
高水平lattice
函數類似於xyplot
與傳統的不同R圖形函數,因為它們本身不執行任何繪圖。相反,它們返回一個類的對象"trellis"
,那麽必須是print
-ed 或plot
-ted 來創建實際的情節。由於R的自動打印規則,通常不需要顯式地進行第二步,並且lattice
函數的行為似乎與傳統函數類似。然而,當在另一個函數內部調用高級函數時(最常見的是source
)或在自動打印被抑製的其他情況下(例如,for
或者while
循環)。在這種情況下,顯式調用print
或者plot
是必須的。
lattice
軟件包基於 Grid 圖形引擎,需要grid
add-on包。這樣做的後果之一是它不(容易)與傳統的兼容R圖形工具。特別是,改變par()
設置通常對格子圖沒有影響;lattice
提供自己的接口來查詢和修改大量圖形和非圖形設置。
例子
## Not run:
## Show brief history of changes to lattice, including
## a summary of new features.
RShowDoc("NEWS", package = "lattice")
## End(Not run)
作者
Deepayan Sarkar Deepayan.Sarkar@R-project.org
參考
Sarkar, Deepayan (2008) Lattice: Multivariate Data Visualization with R, Springer. ISBN: 978-0-387-75968-5 http://lmdvr.r-forge.r-project.org/
Cleveland, William .S. (1993) Visualizing Data, Hobart Press, Summit, New Jersey.
Becker, R. A. and Cleveland, W. S. and Shyu, M. J. (1996). “The Visual Design and Control of Trellis Display”, Journal of Computational and Graphical Statistics, 5(2), 123-155.
Bell Lab's Trellis Page contains several documents outlining the use of Trellis graphics; these provide a holistic introduction to the Trellis paradigm: http://web.archive.org/web/20081020164041/http://cm.bell-labs.com/cm/ms/departments/sia/project/trellis/display.writing.html
也可以看看
以下是 lattice
包中的高級函數及其默認顯示的列表。在所有情況下,實際顯示都是由所謂的 “panel” 函數生成的,該函數具有合適的默認值,但可以用用戶定義的函數替換以創建自定義顯示。在許多情況下,默認麵板函數本身有許多可選參數來自定義其輸出。默認麵板函數命名為“panel.
”,後跟相應高級函數的名稱;例如,xyplot
的默認麵板函數是 panel.xyplot
,histogram
的默認麵板函數是 panel.histogram
等等。每個默認麵板函數都有一個單獨的幫助頁麵,從相應高級函數的幫助頁麵鏈接。盡管單獨記錄,但這些麵板函數的參數可以直接提供給高級函數,高級函數將適當地傳遞參數。
單變量:
barchart
:-
條形圖。
bwplot
:-
Box-and-whisker 地塊。
densityplot
:-
核密度估計。
dotplot
:-
克利夫蘭點圖。
histogram
:-
直方圖。
qqmath
:-
理論分位數圖。
stripplot
:-
一維散點圖。
雙變量:
三變量:
超變量:
各種各樣的:
此外,還有一些麵板函數本身作用不大,但可以作為自定義麵板函數的有用組件。這些記錄在 panel.functions
中。 Lattice 還提供了一係列與傳統圖形基元 lines
、 points
等相對應的便捷函數。這些函數是使用網格圖形實現的,但在參數列表方麵嘗試盡可能接近傳統版本。這些函數的名稱類似於 llines
或 panel.lines
,並且在編寫(或從 S-PLUS 代碼移植)重要麵板函數時通常很有用。
最後,latticeExtra
包中提供了許多擴展萊迪思係統的有用增強函數。
相關用法
- R panel.xyplot xyplot 的默認麵板函數
- R xyplot.ts 時間序列繪圖方法
- R panel.bwplot bwplot 的默認麵板函數
- R panel.loess 添加黃土平滑的麵板函數
- R lset 修改網格設置的接口 - 已失效
- R panel.axis 繪圖軸刻度和標簽的麵板函數
- R Rows 從列表中提取行
- R panel.number 在繪圖期間訪問輔助信息
- R trellis.par.get 網格顯示的圖形參數
- R update.trellis 檢索和更新網格對象
- R barley 明尼蘇達州大麥試驗的產量數據
- R panel.functions 有用的麵板函數組件
- R prepanel.functions Lattice 有用的 Prepanel 函數
- R xyplot 常見的二變量網格圖
- R simpleTheme 生成簡單主題的函數
- R panel.parallel 並行的默認麵板函數
- R print.trellis 繪製和總結網格對象
- R panel.cloud 雲默認麵板函數
- R packet.panel.default 將數據包與麵板關聯
- R levelplot 水平圖和等高線圖
- R trellis.device 初始化網格顯示
- R cloud 3d 散點圖和線框曲麵圖
- R tmd Tukey 均差圖
- R panel.pairs splom 的默認超級麵板函數
- R draw.colorkey 通常為水平圖生成色鍵
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Lattice Graphics。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。