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