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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。