将ggplot另存为.eps

时间:2019-08-13 12:52:05

标签: r ggplot2

我在ggplot中生成出版物级数字的问题仍然存在(请参见here

这里有一些可复制的代码引发错误。

library(bayesplot)
df <- data.frame(xVar = rnorm(1e4,0,1))
t <- bayesplot::mcmc_trace(df,"xVar")
t

enter image description here

一切都很好。但是当我尝试将数字另存为eps时(许多期刊都要求如此)

ggplot2::ggsave(filename = "tPlot.eps", 
                plot = t1, 
                device = "eps", 
                dpi = 1200, 
                width = 15,
                height = 10, 
                units = "cm")

我得到了错误

Error in grid.Call(C_stringMetric, as.graphicsAnnot(x$label)) : 
  family 'serif' not included in postscript() device

有人遇到这种问题并找到了解决方案吗?

1 个答案:

答案 0 :(得分:1)

剧情中的字体是R中一个棘手的话题。您可能没有字体,或者R根本找不到它。您可以查看extrafont软件包并尝试在系统上查找字体或下载该字体。我宁愿建议不过选择一个不同的主题:

library(bayesplot)
df <- data.frame(xVar = rnorm(1e4,0,1))
t <- bayesplot::mcmc_trace(df,"xVar") +
  ggplot2::theme_bw()
t

ggplot2::ggsave(filename = "tPlot.eps", 
                plot = t, 
                device = "eps", 
                dpi = 1200, 
                width = 15,
                height = 10, 
                units = "cm")

这消除了我机器上的错误。