12.6.2 多重图形设备
在 R 的高级使用里面,几个图形设备的同时工作是非常有用的。不过,在一个时 间点,只有一个图形设备可以接受图形命令,这个设备就是所谓的当前设备。当多个 设备同时启动时,它们将形成一个以名字作为标识符的有限任务序列。
操作多重图形设备的主要命令和意义列举如下:
X11()
- [UNIX]
windows()
win.printer()
win.metafile()
- [Windows]
quartz()
- [macOS]
postscript()
pdf()
png()
jpeg()
tiff()
bitmap()
…
- 任何一次调用设备驱动函数都会打开一个图形设备,该设备自动加到一个设备列表的后面。 这个设备现在就是当前设备,所有的图形都会输出到这个设备上。(一些平台可能有更多的设备可用。)
dev.list()
- 返回所有处于活动状态的设备的编号和名字。 位于列表位置1的设备常常是零设备(null device),它不接受任何图形命令。
dev.next()
dev.prev()
- 分别返回当前设备的后一个或者前一个设备的名字和编号。
dev.set(which=k)
- 将设备列表中位置 k 的设备作为当前设备。返 回该设备的标签和编号。
dev.off(k)
- 终止设备列表中位置 k 的设备。对于一些设备,如postscript设备,该命令要么立即打印该文件,要么正确地结束文件。这依赖于设备时如何初始设置。
dev.copy(device, …, which=k)
dev.print(device, …, which=k)
- 为设备k创建一份拷贝。这里,
device
是一 个设备函数,如postscript
,必要时可以加入由... 指定的额外参数。dev.print
类似,但 是被拷贝的设备会迅速关闭,因此收尾活动, 如打印硬拷贝等,会立刻执行。
graphics.off()
- 关闭设备列表中除零设备外的所有设备。