當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。