windows
位于 grDevices
包(package)。 说明
仅适用于 Windows。图形设备被打开。对于 windows
、 win.graph
、 x11
和 X11
来说,这是当前 Windows 显示上的一个窗口:多个名称是为了与其他系统兼容。 win.metafile
打印到文件,win.print
打印到 Windows 打印系统。
用法
windows(width, height, pointsize, record, rescale, xpinch, ypinch,
bg, canvas, gamma, xpos, ypos, buffered, title,
restoreConsole, clickToConfirm, fillOddEven,
family, antialias)
win.graph(width, height, pointsize)
win.metafile(filename = "", width = 7, height = 7, pointsize = 12,
family, restoreConsole = TRUE,
xpinch = NA_real_, ypinch = NA_real_)
win.print(width = 7, height = 7, pointsize = 12, printer = "",
family, antialias, restoreConsole = TRUE)
参数
width, height |
绘图窗口画布的(标称)宽度和高度(以英寸为单位)。默认 |
pointsize |
绘制文本的默认磅值,解释为大点(1/72 英寸)。值四舍五入为最接近的整数:小于或等于零的值将重置为默认值 |
record |
逻辑:设置记录绘图标志的初始状态。默认 |
rescale |
字符, |
xpinch, ypinch |
双倍的。每英寸像素数,水平和垂直。默认 |
bg |
颜色。初始背景颜色。默认 |
canvas |
颜色。当背景颜色透明时可见的画布颜色。应该是纯色(并且任何 alpha 值都将被忽略)。默认 |
gamma |
伽马校正模糊因子。 R中的颜色是sRGB;如果您的显示器不符合 sRGB,您可以通过调整此参数对 RGB 通道应用额外的伽玛校正来改进。默认为 1(无额外伽马校正)。 |
xpos, ypos |
整数。窗口左上角的位置(以像素为单位)。负值取自显示器的另一边。缺失值(默认值)意味着从‘utils Rwin configuration’ 文件,该文件默认为 |
buffered |
合乎逻辑的。屏幕输出应该是double-buffered吗?默认 |
title |
字符串,最多 100 个字节。使用默认的 |
filename |
输出文件的名称:它将是一个增强的 Windows 图元文件,通常给出扩展名“.emf' 或者 '.wmf’。最多允许 511 个字符。如果字符串中包含整数格式,则将替换页码(请参阅 |
printer |
Windows 已知的打印机名称。默认情况下会出现一个对话框供用户选择打印机。 |
restoreConsole |
逻辑:请参阅下面的“详细信息”。对于屏幕设备,默认为 |
clickToConfirm |
逻辑:是否通过单击设备而不是在控制台中回答问题来真正确认新帧。默认 |
fillOddEven |
逻辑控制多边形填充模式:有关详细信息,请参阅 |
family |
指定默认字体系列的长度为一的字符向量。请参阅“字体”部分。 |
antialias |
长度为一的字符向量,请求控制字体抗锯齿。这与 |
细节
所有这些设备都是作为同一设备的变体来实现的。
windows
的所有参数都有 windows.options
设置的默认值:参数部分中给出的默认值是默认值的默认值。这些默认值也适用于 win.graph
、 x11
和 X11
的 gamma
、 xpinch
、 ypinch
、 buffered
、 restoreConsole
和 antialias
的内部值。
窗口的大小是根据提供的有关显示的信息计算得出的:它取决于准确配置的系统。默认情况下,屏幕设备会向 Windows 询问每英寸的像素数。这可以通过指定 xpinch
和 ypinch
来覆盖(这通常是错误的),最方便的是通过 windows.options
。例如,13.3 英寸 1280x800 屏幕(典型的笔记本电脑显示屏)的分辨率为 96 dpi,尽管其实际分辨率约为 114 dpi。这些参数也可能有助于将输出的比例与图元文件的大小相匹配(否则取决于准确配置的系统)。
不同的颜色需要仔细区分。设备区域之外的区域以 Windows 应用程序背景颜色着色。设备区域以画布颜色着色。当调用新页面时,这是绘图的背景颜色over-painted,但该背景颜色可以是透明的(默认情况下)。设置画布颜色和背景颜色之间的一个区别是,保存绘图时,会复制背景颜色,但不会复制画布颜色。参数bg
设置基本图形中par("bg")
和网格图形中gpar("fill")
的初始值
记录的情节历史属于 "SavedPlots"
类。他们有一个 print
方法和一个子集方法。由于各个图属于 "recordedplot"
类,因此可以通过打印来重播它们:请参阅 recordPlot
。活动绘图历史记录存储在工作区中的变量 .SavedPlots
中。
当屏幕设备为double-buffered(默认)时,屏幕在上次绘图调用后 100 毫秒更新一次,或者在连续绘图期间每 500 毫秒更新一次。在打开设备之前,可以通过将 options("windowsTimeout")
设置为两个整数的向量来更改这些时间。
由par(lwd =)
控制的线宽是1/96英寸的倍数。允许小于 1 的倍数,小至一个像素宽度。
对于win.metafile
,每个文件只允许一个图,并且 Windows 似乎不允许重复使用该文件。因此,允许多个绘图的唯一方法是使用参数化的filename
,如示例中所示。如果省略 filename
(或指定为 ""
),则关闭设备时输出将复制到剪贴板。
restoreConsole
参数是对多个 Windows 图形设备当前实现中的问题的临时修复,并且可能会在即将发布的版本中删除。如果设置为 FALSE
,新设备打开后控制台将不会获得焦点。
屏幕设备上支持线条、填充和文本的半透明颜色。这些适用于(从“文件”菜单)保存为 PDF、PNG、BMP、JPEG 和 TIFF,但如果保存为图元文件和 PostScript,则将被忽略。底层 Windows API 的限制意味着半透明对象必须严格包含在设备区域内(允许线宽和连接)。
值
绘图设备被打开:没有任何内容返回到R口译员。
调整大小选项
如果重新调整屏幕设备的大小,则默认行为 ( "R"
) 是重新绘制绘图,就像最初指定了新大小一样。使用 "fit"
将重新缩放现有绘图以适应新的设备区域,同时保留纵横比。使用 "fixed"
将使绘图大小保持不变,如果部分绘图被遮挡,则添加滚动条。
创建的图形窗口永远不会超过屏幕宽度或高度的 85%,但可以将其大小调整为更大的尺寸。对于前两个 rescale
选项,如果需要,宽度和高度将按比例重新缩放,如果是 rescale = "fit"
,则绘图将相应地重新缩放。如果rescale = "fixed"
在这些约束内选择最初显示的部分,分别针对宽度和高度。在 MDI 模式下,限制为 MDI 客户端区域的 85%。
重新缩放窗口后(使用 "fit"
时)使用 strwidth
或 strheight
会给出原始单位的尺寸,但仅近似于从重新缩放的字体的度量(整数大小)导出的尺寸
显示区域可能大于‘paper’尺寸,并且‘paper’之外的区域以Windows应用程序背景颜色着色。如果重新缩放有效,"din"
等图形参数指的是缩放图。
字体
Windows 设备中绘制的文本所使用的字体可以通过两种方式进行控制。文件 R_HOME\etc\Rdevga
可用于指定 par(font =)
(或等效的 grid
)的映射。或者,可以通过非空 family
参数(或图形包中的 par(family =)
)指定字体系列,这将通过 Windows 字体数据库用于字体 1:4(请参阅 windowsFonts
) 。
字体的外观取决于通过 antialias
参数和机器设置进行的抗锯齿设置。这些是对 Windows GDI 的提示,可能无法遵循,但antialias = "none"
应确保不使用抗锯齿函数。对于屏幕设备,默认值取决于机器设置:如果已启用,则默认值为"cleartype"
。请注意,灰度抗锯齿仅用于小字体(低于约 9 像素,典型显示器上约为 7 点)。
通过远程桌面访问系统时,远程桌面设置和用户的本地帐户设置都与是否使用抗锯齿相关。
某些字体仅适用于 ClearType 抗锯齿函数,例如 Meiryo
日语字体。
惯例
本节介绍“R Internals”手册中规定的图形设备约定的实现。
-
默认设备尺寸为 7 平方英寸,尽管 Windows 经常错误地实现这一点:请参阅“详细信息”。
-
字体大小以大点为单位。
-
默认字体系列是 Arial。
-
线宽为 1/96 英寸的倍数,最小为 1 个像素。
-
圆的最小半径为 1 像素。
-
pch = "."
和cex = 1
对应于边长为 1 像素和 0.01 英寸中较大者的矩形。 -
颜色通过显卡的未配置文件颜色映射进行解释 - 假定符合 sRGB。
注意
x11()
、 X11()
和 win.graph()
是调用 windows()
的简单包装器,主要出于兼容性原因而存在。
此外,x11()
和 X11()
有自己的 Unix-alikes 帮助页面(其中还有更多参数)。
例子
## Not run: ## A series of plots written to a sequence of metafiles
if(.Platform$OS.type == "windows")
win.metafile("Rplot%02d.wmf", pointsize = 10)
## End(Not run)
也可以看看
windowsFonts
、 savePlot
、 bringToTop
、 Devices
、 postscript
、 x11
适用于 Unix 类系统。
相关用法
- R windows.options 设置/查看 windows() 参数默认值的辅助函数
- R windowsFonts Windows 字体
- 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 rgb RGB 颜色规格
- R check.options 设置带有一致性检查的选项
- R msgWindow 操纵窗口
- R dev.flush 保持或刷新屏幕图形设备上的输出
- R n2mfrow 根据绘图数计算默认“mfrow”
- R dev 控制多个设备
- R hsv HSV 颜色规格
- R postscript PostScript 图形
- R pdf PDF图形设备
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Windows Graphics Devices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。