在grDevices
R函数cairo_pdf
和cairo_ps
中提到当在矢量输出中使用透明度(alpha通道)时,它将在a处栅格化PDF或postscript导出图形72 dpi的分辨率: https://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/cairo.htmlR:在cairo_pdf和cairo_ps中使用大于72dpi的cairo回退分辨率
你可以看到这个问题,如果你尝试
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也不起作用,因为它不支持透明度,并返回错误“此设备不支持半透明度:每页仅报告一次”。