screen
位於 graphics
包(package)。 說明
split.screen
定義了當前設備內的許多區域,這些區域在某種程度上可以被視為單獨的圖形設備。它對於在單個設備上生成多個繪圖非常有用。屏幕本身可以分割,允許相當複雜的情節安排。
screen
用於選擇在哪個屏幕上繪製。
erase.screen
用於清除單個屏幕,它通過填充背景顏色來實現。
close.screen
刪除指定的屏幕定義。
用法
split.screen(figs, screen, erase = TRUE)
screen(n = , new = TRUE)
erase.screen(n = )
close.screen(n, all.screens = FALSE)
參數
figs |
說明屏幕矩陣或 4 列矩陣中的行數和列數的二元素向量。如果是矩陣,則每行說明一個屏幕,其中包含以 NDC 單位表示的屏幕左下角、右下角和頂部(按此順序)的值,即 0 位於設備表麵的左下角,1 位於設備表麵的左下角。右上角。 |
screen |
給出要分割的屏幕的數字。如果有則默認為當前屏幕,否則為整個設備區域。 |
erase |
邏輯:是否應該清除所選屏幕? |
n |
一個數字,指示哪個屏幕準備繪製 ( |
new |
指示在屏幕上繪圖準備過程中是否應擦除屏幕的邏輯值。 |
all.screens |
指示是否應關閉所有屏幕的邏輯值。 |
細節
第一次調用split.screen
地方R進入split-screen模式。其他split-screen函數僅在此模式下工作。在此模式下,應避免某些其他命令(請參閱下麵的警告部分)。通過命令退出Split-screen模式close.screen(all = TRUE)
.
如果當前屏幕關閉,close.screen
將當前屏幕設置為下一個較大的屏幕編號(如果有),否則設置為第一個可用屏幕。
值
split.screen(*)
返回新創建屏幕的屏幕編號向量。如果不帶參數,split.screen()
將返回有效屏幕編號的向量。
screen(n)
無形地返回 n
,即所選屏幕的編號。如果不帶參數,screen()
返回當前屏幕的編號。
close.screen()
返回有效屏幕編號的向量。
screen
,erase.screen
, 和close.screen
全部返回FALSE
如果R不處於split-screen模式。
警告
使用這些函數的推薦方法是在選擇並在另一個屏幕上繪製之前,完整繪製一個圖以及基本圖的所有添加內容(即點和線)。與返回屏幕以添加到現有繪圖相關的行為是不可預測的,並且可能會導致不易察覺的問題。
這些函數與在設備上排列繪圖的其他機製完全不兼容: par(mfrow)
、 par(mfcol)
和 layout()
。
這些函數也與某些繪圖函數不兼容,例如使用這些其他機製的 coplot
。
如果背景顏色是透明的(大多數設備上默認情況下是透明的),erase.screen
將不起作用。
例子
if (interactive()) {
par(bg = "white") # default is likely to be transparent
split.screen(c(2, 1)) # split display into two screens
split.screen(c(1, 3), screen = 2) # now split the bottom half into 3
screen(1) # prepare screen 1 for output
plot(10:1)
screen(4) # prepare screen 4 for output
plot(10:1)
close.screen(all = TRUE) # exit split-screen mode
split.screen(c(2, 1)) # split display into two screens
split.screen(c(1, 2), 2) # split bottom half in two
plot(1:10) # screen 3 is active, draw plot
erase.screen() # forgot label, erase and redraw
plot(1:10, ylab = "ylab 3")
screen(1) # prepare screen 1 for output
plot(1:10)
screen(4) # prepare screen 4 for output
plot(1:10, ylab = "ylab 4")
screen(1, FALSE) # return to screen 1, but do not clear
plot(10:1, axes = FALSE, lty = 2, ylab = "") # overlay second plot
axis(4) # add tic marks to right-hand axis
title("Plot 1")
close.screen(all = TRUE) # exit split-screen mode
}
參考
Chambers, J. M. and Hastie, T. J. (1992) Statistical Models in S. Wadsworth & Brooks/Cole.
Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.
也可以看看
相關用法
- R stem 莖葉圖
- R stars 星圖(蜘蛛圖/雷達圖)和線段圖
- R smoothScatter 具有平滑密度顏色表示的散點圖
- R sunflowerplot 製作向日葵散點圖
- R spineplot 脊柱圖和脊柱圖
- R symbols 繪製符號(圓形、正方形、星形、溫度計、箱線圖)
- R stripchart 一維散點圖
- R strwidth 繪製字符串和數學表達式的維數
- R segments 將線段添加到繪圖中
- R legend 將圖例添加到繪圖中
- R barplot 條形圖
- R plot.histogram 繪製直方圖
- R points 向繪圖添加點
- R mtext 將文本寫入繪圖的邊距
- R arrows 將箭頭添加到繪圖中
- R contour 顯示輪廓
- R pairs 散點圖矩陣
- R box 在地塊周圍畫一個方框
- R coplot 調節圖
- R mosaicplot 馬賽克圖
- R bxp 從摘要中繪製箱線圖
- R plot.raster 繪製光柵圖像
- R axTicks 計算軸刻度線位置
- R curve 繪製函數圖
- R plot.factor 繪製因子變量
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Creating and Controlling Multiple Screens on a Single Device。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。