当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R cairo 基于 Cairgraphics 的 SVG、PDF 和 PostScript 图形设备


R语言 cairo 位于 grDevices 包(package)。

说明

使用 cairo 图形 API 的 SVG、PDF 和 PostScript 图形文件的图形设备。

用法

svg(filename = if(onefile) "Rplots.svg" else "Rplot%03d.svg",
    width = 7, height = 7, pointsize = 12,
    onefile = FALSE, family = "sans", bg = "white",
    antialias = c("default", "none", "gray", "subpixel"),
    symbolfamily)

cairo_pdf(filename = if(onefile) "Rplots.pdf" else "Rplot%03d.pdf",
          width = 7, height = 7, pointsize = 12,
          onefile = FALSE, family = "sans", bg = "white",
          antialias = c("default", "none", "gray", "subpixel"),
          fallback_resolution = 300, symbolfamily)

cairo_ps(filename = if(onefile) "Rplots.ps" else "Rplot%03d.ps",
         width = 7, height = 7, pointsize = 12,
         onefile = FALSE, family = "sans", bg = "white",
         antialias = c("default", "none", "gray", "subpixel"),
         fallback_resolution = 300, symbolfamily)

参数

filename

输出文件的名称。如果字符串中包含 C 整数格式,则将替换页码(默认情况下)。 (根据平台的不同,结果必须小于 PATH_MAX 个字符长,否则可能会被截断。有关更多详细信息,请参阅 postscript。)波浪线扩展在平台支持的情况下执行。

width

设备的宽度(以英寸为单位)。

height

设备的高度(以英寸为单位)。

pointsize

绘制文本的默认磅值(以大磅为单位)。

onefile

所有绘图应该出现在一个文件中还是单独的文件中?

family

与设备无关的字体系列之一 "sans""serif""mono" 或字符串指定要以系统相关方式搜索的字体系列。

在 unix-alikes(包括 Mac)上,请参阅 X11 帮助中的“Cairo 字体”部分。

bg

初始背景颜色:可以通过设置 par("bg") 来覆盖。

antialias

字符串,要使用的抗锯齿类型(如果有);默认为 "default"

fallback_resolution

数字:回退到位图输出时使用的分辨率(以 dpi 为单位)。之前R3.3.0 这取决于开罗的实施,但通常为 300。

symbolfamily

长度为 1 的字符串,指定用作 "symbol" 字体的字体系列(例如,用于 plotmath 输出)。

细节

SVG(标量矢量图形)是矢量图形的 W3C 标准。请参阅https://www.w3.org/Graphics/SVG/svg 的输出是 onefile = FALSE 的 SVG 版本 1.1(默认),否则为 SVG 1.2。 (很少有 SVG 查看器能够显示多页 SVG 文件。)

请注意,与 postscriptpdf 不同,cairo_pdfcairo_ps 有时记录位图而不是矢量图形。另一方面,它们可以(在合适的平台上)包含更广泛的 UTF-8 字形,并嵌入所使用的字体。

cairo_ps(onefile = FALSE) 生成的输出将在 cairo >= 1.6 的平台上封装 postscript。

R可以在不支持任何这些设备的情况下进行编译:如果您尝试在不支持它们的系统上使用它们,则会报告此情况。它们都需要 cairo 1.2 或更高版本。

如果您在其中一个设备上绘制多个页面,并且在 file 中不包含类似 %d 的序列号(或设置 onefile = TRUE ),则文件将包含绘制的最后一页。

完全支持 semi-transparency,但使用它是容易触发位图输出的事情之一(并且对于 cairo_ps 总是这样做)。

绘图设备被打开:没有任何内容返回到R口译员。

抗锯齿

抗锯齿适用于图形和字体。它通常更适合线条和文本,但可能会导致填充出现不良效果,例如用于image 绘图,因此永远不会用于填充。

antialias = "default" 原则上依赖于平台,但似乎通常等同于 antialias = "gray"

惯例

本节介绍“R Internals”手册中规定的图形设备约定的实现。

  • 默认设备尺寸以像素 (svg) 或英寸为单位。

  • 字体大小以大点为单位。

  • 默认字体系列是 Helvetica。

  • 线宽是 1/96 英寸的倍数。

  • 圆半径最小为 1/72 英寸。

  • 颜色由查看应用程序解释。

警告

对所有这些设备的支持都是可选的,因此在包中应在检查 capabilities("cairo") 后有条件地使用它们。

注意

原则上,这些设备独立于 X11(从它们在 Windows 上的存在即可看出)。但在类似 Unix 上,cairo 库可能作为 X11 系统的一部分进行分发,因此可能需要安装(例如,在 x86_64 macOS 上,XQuartz)。

也可以看看

Devices , dev.print , pdf , postscript

capabilities 查看是否支持 cairo。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Cairographics-based SVG, PDF and PostScript Graphics Devices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。