recordPlot
位於 grDevices
包(package)。 說明
將當前繪圖保存在R變量,並重播它。
用法
recordPlot(load=NULL, attach=NULL)
replayPlot(x, reloadPkgs=FALSE)
參數
load |
如果不是 |
attach |
如果不是 |
x |
已保存的情節。 |
reloadPkgs |
指示是否重新加載和/或重新附加作為記錄圖的一部分保存的任何包的邏輯。 |
細節
這些函數記錄並重放當前圖形設備的顯示列表。返回的對象屬於 "recordedplot"
類,而 replayPlot
充當該類的 print
方法。
返回的對象存儲為對列表,但通常的檢查方法R對象如deparse
和str
容易產生誤導。
值
recordPlot
返回類 "recordedplot"
的對象。
replayPlot
沒有返回值。
警告
記錄圖的格式可能會改變R版本,所以記錄的情節應該不是用作永久存儲格式R地塊。
作為R3.3.0,可以(再次)重播另一個情節R會話使用,例如,saveRDS
和readRDS
。甚至可以重播另一個情節R但是,這會產生警告,可能會產生錯誤,或更糟糕的情況。
注意
如果顯示列表包含對 recordGraphics
的調用,而 recordGraphics
又包含從 graphics or grid
以外的非基本包調用代碼的表達式,則重放記錄的繪圖可能不會產生正確的結果(或者可能會失敗)。最著名的例子是使用 ggplot2
包繪製的圖。一種解決方案是在重播記錄的繪圖之前加載相關包。 recordPlot
的 load
和 attach
參數可用於自動執行此操作。 load
中命名的任何包都將通過 loadNamespace
重新加載;並且隻要在 replayPlot
調用中 reloadPkgs
是 TRUE
,任何在 attach
中命名的包都將通過 library
重新附加。僅當嘗試在一個 R 會話中重播在不同 R 會話中記錄的繪圖時,這才有意義。
參考
Murrell, P., Ooms, J., Allaire, J.J. (2015), "Recording and Replaying the Graphics Engine Display List", https://stattech.wordpress.fos.auckland.ac.nz/2015/12/21/2015-07-recording-and-replaying-the-graphics-engine-display-list/
也可以看看
可以使用 dev.control
打開和關閉顯示列表。最初記錄對於屏幕設備是打開的,對於打印設備是關閉的。
相關用法
- R recordGraphics 記錄圖形操作
- R rgb RGB 顏色規格
- R rgb2hsv RGB 到 HSV 轉換
- R axisTicks 計算漂亮的軸刻度
- R hcl HCL 顏色規格
- R quartzFonts 石英字體
- R as.graphicsAnnot 強製圖形注釋對象
- R xyTable (x,y) 點的重數,例如,對於向日葵圖
- R dev.interactive 當前圖形設備是否具有交互性?
- R chull 計算一組點的凸包
- R convertColor 在色彩空間之間轉換
- R X11Fonts X11 字體
- R plotmath R 中的數學注釋
- R dev.capture 將設備輸出捕獲為光柵圖像
- R dev.size 查找設備表麵的尺寸
- R pdf.options 設置/查看 pdf 參數默認值的輔助函數
- R densCols 平滑密度圖的顏色
- R windows Windows 圖形設備
- R check.options 設置帶有一致性檢查的選項
- R msgWindow 操縱窗口
- R dev.flush 保持或刷新屏幕圖形設備上的輸出
- R n2mfrow 根據繪圖數計算默認“mfrow”
- R dev 控製多個設備
- R hsv HSV 顏色規格
- R postscript PostScript 圖形
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Record and Replay Plots。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。