是否可以使用 Cairo 图形设备通过 ggsave 创建 .eps 文件?

00s*_*der 6 r eps cairo ggplot2

编辑:此页面提供代码:https : //www.andrewheiss.com/blog/2017/09/27/working-with-r-cairo-graphics-custom-fonts-and-ggplot/

ggsave("test_cario.eps", device=cairo_ps)

ggsave("test_cario.pdf", device=cairo_pdf)
Run Code Online (Sandbox Code Playgroud)

但是,我想知道命令来自哪里。它们未包含在官方文档 ( https://ggplot2.tidyverse.org/reference/ggsave.html )的可能设备列表中。并且,cairo_png 不存在;相反, type="cairo-png" 是必要的,例如:

ggsave("test_cairo.png", type = "cairo-png")
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么争论是一次device = ""又一次type = ""


我试过这样的代码

ggsave("model.eps", type = "cairo")
Run Code Online (Sandbox Code Playgroud)

或者

ggsave("model.eps", type = "cairo-ps")

或者

ggsave("model.eps", device = "cairo-ps")

但似乎没有任何效果。一般来说,是否可以使用 Cairo 图形设备通过 ggsave 创建 .eps 文件?如果是这样,如何?

Jam*_*mes 2

长话短说

您需要调用特定的 pdf 和 ps cairo 设备,而标准 png 设备可以设置为使用其自己的类型参数生成 cario 输出。

解释

device的参数可以ggsave采用设备函数、与预定义列表之一匹配的字符串,或者保留为NULL(在这种情况下,从文件扩展名猜测设备)。无论如何,都会调用设备函数。请注意,使用函数形式时,您可能需要设置一些ggsave在使用字符或自动检测形式时适合您的参数。

grDevices包含大多数默认使用的设备的包还具有您可以传递给的cario_pdf设备。cairo_psggsave

没有cairo_png设备。但是,png设备有一个type参数,它从以下向量中获取选项(至少在 Windows 上):c("windows", "cairo", "cairo-png")。当设备调用它时,将规范ggsave传递type给设备。png