簡體   English   中英

R:在cairo_pdf和cairo_ps中使用大於72dpi的cairo后備分辨率

[英]R: use cairo fallback resolution greater than 72dpi in cairo_pdf and cairo_ps

grDevices R函數cairo_pdfcairo_ps ,提到在向量輸出中使用透明度(alpha通道)時,它將以72 dpi的分辨率光柵化PDF或Postscript導出的圖形: https : //stat.ethz.ch/R -manual / R-devel的/庫/ grDevices / HTML / cairo.html

如果您嘗試可以看到問題

library(ggplot2)
cairo_ps(file = "test.eps",onefile = FALSE)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, size = Petal.Width, alpha = I(0.7))
dev.off()

就像在輸出中(此處放大)所示,圖形符號被大量像素化,然后顯示確實僅使用72 dpi: 在此處輸入圖片說明

我想知道如何將后備分辨率提高到600 dpi? library(RGtk2)有一個命令cairoSurfaceSetFallbackResolution ,我認為這與這里的內容有關,但是我不知道如何使grDevices使用該參數。 有什么想法嗎?

使用postscript() btw也不起作用,因為它不支持透明性,並返回錯誤“此設備不支持半透明:每頁僅報告一次”。

最新的r-devel版本現在添加了額外的參數fallback_resolution ,以指定應該對不支持的矢量元素進行柵格化的分辨率,這似乎可以解決問題。 例如:

library(ggplot2)
cairo_ps(file = "test.eps",onefile = FALSE,fallback_resolution=600)
qplot(Sepal.Length, Petal.Length, data = iris, color = Species, size = Petal.Width, alpha = I(0.7))
dev.off()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM