png
位于 grDevices
包(package)。 说明
用于 BMP、JPEG、PNG 和 TIFF 格式位图文件的图形设备。
用法
bmp(filename = "Rplot%03d.bmp",
width = 480, height = 480, units = "px", pointsize = 12,
bg = "white", res = NA, ..., family = "", restoreConsole = TRUE,
type = c("cairo", "Xlib", "quartz"), antialias)
jpeg(filename = "Rplot%03d.jpeg",
width = 480, height = 480, units = "px", pointsize = 12,
quality = 75,
bg = "white", res = NA, ..., family = "", restoreConsole = TRUE,
type = c("cairo", "Xlib", "quartz"), antialias)
png(filename = "Rplot%03d.png",
width = 480, height = 480, units = "px", pointsize = 12,
bg = "white", res = NA, ..., family = "", restoreConsole = TRUE,
type = c("cairo", "cairo-png", "Xlib", "quartz"), antialias)
tiff(filename = "Rplot%03d.tiff",
width = 480, height = 480, units = "px", pointsize = 12,
compression = c("none", "rle", "lzw", "jpeg", "zip", "lzw+p", "zip+p"),
bg = "white", res = NA, ..., family = "", restoreConsole = TRUE,
type = c("cairo", "Xlib", "quartz"), antialias)
参数
filename |
输出文件路径。如果字符串中包含 C 整数格式,则将替换页码(默认情况下)。 (根据平台的不同,结果应小于 |
width |
设备的宽度。 |
height |
设备的高度。 |
units |
|
pointsize |
绘制文本的默认磅值,解释为 |
bg |
初始背景颜色:可以通过设置 par("bg") 来覆盖。 |
quality |
JPEG 图像的‘quality’,以百分比表示。较小的值会提供更多的压缩,但也会导致图像质量下降更多。 |
compression |
要使用的压缩类型。忽略 |
res |
将记录在位图文件中的标称分辨率(以 ppi 为单位)(如果是正整数)。还用于默认值以外的 |
... |
仅适用于 对于类型 对于类型 |
type |
字符串, |
antialias |
对于 |
细节
PNG 和 JPEG 格式的绘图可以轻松转换为许多其他位图格式,并且两者都可以在现代 Web 浏览器中显示。 PNG 格式是无损的,最适合线条图和色块。 JPEG 格式是有损的,但对于图像绘图等可能很有用。 BMP 是 Windows 上的标准格式。 TIFF 是 meta-format:tiff
编写的默认格式是无损的,并且存储未压缩的 RGB(以及适当的 alpha)值 - 此类文件被广泛接受,这是它们相对于 PNG 的主要优点。
png
支持透明背景:使用 bg =
"transparent"
。 (并非所有 PNG 查看器都能正确渲染具有透明度的文件。)在 type = "Xlib"
变体中使用透明度时,会使用非常浅的灰色作为背景,因此如果在绘图中使用,则显示为透明。这允许使用不透明的白色,如示例中所示。 type = "cairo"
、 type =
"cairo-png"
和 type = "quartz"
变体允许半透明颜色,包括在透明或半透明背景上。
类型为"cairo"
和"quartz"
的tiff
支持半透明颜色,包括在透明或半透明背景上。压缩类型"zip"
为“deflate (Adobe-style)”。压缩类型 "lzw+p"
和 "zip+p"
使用水平差分(“差分预测器”,TIFF 规范第 14 节)与压缩方法相结合,这对于 continuous-tone 图像(尤其是彩色图像)非常有效。
R可以在不支持这些设备的部分或全部类型的情况下进行编译:如果您尝试在不支持它们的系统上使用它们,则会报告此情况。为了type =
"Xlib"
除非 X11 显示器可供所有者使用,否则它们可能无法使用R过程。type = "cairo"
需要 cairo 1.2 或更高版本。type = "quartz"
使用quartz
设备,因此仅在该设备所在的位置可用(在某些 macOS 版本上:请参阅capabilities("aqua")
)。
默认情况下,文件中不记录任何分辨率(BMP 除外)。当没有记录时,观看者通常会假定标称分辨率为 72 ppi。由于 PNG 文件中的分辨率以像素/米为单位记录,因此报告的 ppi 值将略有变化。
对于使用以英寸为单位的尺寸(包括以点为单位的字体大小)的图形参数,使用的分辨率为res
(如果未设置,则为 72 ppi)。
如果页面上的颜色少于 256 种,png
通常会使用调色板,否则记录 24 位 RGB 文件(如果使用 type = "cairo"
和非不透明颜色,则记录 32 位 ARGB 文件)。然而,type = "cairo-png"
使用 cairgraphics 的 PNG 后端,它永远不会使用调色板,并且通常会创建更大的 32 位 ARGB 文件 - 这可能更适合半透明颜色的专业用途。
Quartz-produced 具有透明背景的 PNG 和 TIFF 图用深灰色遮罩记录,该遮罩将显示在某些查看器中,包括 macOS 上的Preview
。
BMP 文件中的未知分辨率记录为 72 ppi。
值
绘图设备被打开:没有任何内容返回到R口译员。
警告
请注意,默认情况下,width
和 height
值以像素为单位,而不是英寸。如果两者都低于 20,将发出警告。
如果您在其中一个设备上绘制多个页面,并且在 file
中不包含类似 %d
的序列号,则该文件将包含绘制的最后一页。
操作系统之间的差异
这些函数是三个或更多不同底层设备的接口。
-
在 Windows 上,基于使用 Windows 的 GDI 调用绘制到隐藏屏幕的设备。
-
在支持 X11 的平台上,绘制到隐藏的 X11 显示。
-
在 macOS 上使用控制台时以及何时R使用 Apple 的 Quartz 绘图系统在适当的支持下进行编译。
-
已编译了对 cairographics 的支持,在开罗表面上绘图。这可能使用本机平台对字体的支持,也可能使用
fontconfig
来支持各种字体格式。
支持的选项和产生的输出之间不可避免地存在差异。也许最重要的是对抗锯齿字体和半透明颜色的支持:使用基于 cairo 或 Quartz 的设备(如果可用)可能会获得最佳结果。
默认扩展名是‘.jpg' 和 '.tif' 在 Windows 上,以及 '.jpeg' 和 '.tiff’在其他地方。
惯例
本节介绍“R Internals”手册中规定的图形设备约定的实现。
-
默认设备大小以像素为单位。
-
字体大小以
res
ppi 解释的大点为单位。 -
Windows 上的默认字体系列为 Arial,否则默认字体系列为 Helvetica。
-
线宽以 1/96 英寸为单位(以
res
ppi 解释),type = "Xlib"
或type = "windows"
至少为 1 个像素,type = "cairo"
为 0.01。 -
对于
type = "Xlib"
或type = "windows"
,圆的最小半径为 1 像素。 -
颜色由查看应用程序解释。
对于 type = "quartz"
请参阅 quartz
的帮助。
注意
对于type = "Xlib"
,这些设备基于X11
设备。使用的颜色模型将是在第一个基于 Xlib 的设备打开时(或所有此类设备关闭后的第一个)由 X11.options
设置的颜色模型。
例子
## these examples will work only if the devices are available
## and cairo or an X11 display or a macOS display is available.
## copy current plot to a (large) PNG file
## Not run: dev.print(png, file = "myplot.png", width = 1024, height = 768)
png(file = "myplot.png", bg = "transparent")
plot(1:10)
rect(1, 5, 3, 7, col = "white")
dev.off()
## will make myplot1.jpeg and myplot2.jpeg
jpeg(file = "myplot%d.jpeg")
example(rect)
dev.off()
作者
Guido Masarotto and Brian Ripley
参考
The PNG specification, https://www.w3.org/TR/png/.
The TIFF specification, https://www.iso.org/standard/34342.html. See also https://en.wikipedia.org/wiki/TIFF.
也可以看看
capabilities
查看此版本是否支持这些设备R, 而如果type = "cairo"
支持。
bitmap
提供了一种以多种位图格式生成绘图的替代方法,该方法(不依赖于访问 UNIX 类似系统上的 X11 显示,但确实)依赖于安装 GhostScript。
相关用法
- R plotmath R 中的数学注释
- R pdf.options 设置/查看 pdf 参数默认值的辅助函数
- R postscript PostScript 图形
- R pdf PDF图形设备
- R pretty.Date 日期时间类的漂亮断点
- R pictex PicTeX 图形驱动程序
- R postscriptFonts PostScript 和 PDF 字体系列
- R ps.options 用于设置/查看 postscript 参数默认值的辅助函数
- R palette 设置或查看图形调色板
- 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 dev.capture 将设备输出捕获为光栅图像
- R dev.size 查找设备表面的尺寸
- R densCols 平滑密度图的颜色
- R windows Windows 图形设备
- R rgb RGB 颜色规格
- R check.options 设置带有一致性检查的选项
- R msgWindow 操纵窗口
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 BMP, JPEG, PNG and TIFF graphics devices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。