【问题标题】:Cannot save ggplot as eps无法将 ggplot 保存为 eps
【发布时间】:2019-02-01 13:13:22
【问题描述】:

我已阅读 thisthis,但 无法 让它发挥作用。

vDF <- data.frame(v = rnorm(50,1,40))
g <- ggplot(vDF, aes(x = vDF)) + geom_histogram()
ggsave(g, file="name.eps") 

我不断收到错误

grDevices::postscript(..., onefile = FALSE, Horizo​​ntal = FALSE, 中的错误: 无法打开文件“name.eps”

为什么我不能完成这项工作?我看到建议说'嘿,就这样做......

setEPS()
postscript("whatever.eps")
plot(rnorm(100), main="Hey Some Data")
dev.off()

但我什至无法保存原始的 .eps 文件。

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    以上都不适合我。我必须在 ggsave() 中指定字体

        ggsave(filename = "fig1.eps", plot=fig1,family="Times")
    

    【讨论】:

      【解决方案2】:

      发现了如何正确地做到这一点

      ggplot2::ggsave(filename = "foo.eps",
                      plot = foo,
                      device = cairo_ps)
      

      为设备指定cairo_ps是关键

      【讨论】:

        【解决方案3】:

        首先,您的代码有错误。应该是:

        vDF <- data.frame(v = rnorm(50,1,40))
        g <- ggplot(vDF, aes(x = v)) + geom_histogram()
        

        (注意aes)。

        现在,要将绘图保存为eps,您必须在ggsave 中使用选项device=eps

        ggsave(g, file="name.eps", device="eps")
        

        【讨论】:

        • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
        • @VasimVanzara 为什么你说这没有提供答案?那不行吗?对我来说,问题很明确,这就是答案。
        • 你应该添加一些解释。如果你想尝试一些东西,你可以在评论中提出同样的问题。
        • @VasimVanzara 啊,我看到有错误。我编辑。谢谢。
        • 谢谢@Stephane Laurent。尴尬的编码错误。但是,即使在我修复它之后它仍然无法正常工作。然后转移到我的笔记本电脑上,它工作正常。看来我的困难可能与在我的工作服务器上创建图像文件的权限有关,而不是与 ggplot 或我自己的错误有关。无论如何,这很方便知道,再次感谢您。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多