将 ggplot 保存为 .eps

lle*_*lls 1 r ggplot2

我在 ggplot 中生成出版级数据的问题仍然存在(请参见此处

这是一些引发错误的可重现代码。

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

在此输入图像描述

都好。但是当我尝试将数字保存为 eps 时(许多期刊都要求)

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

我收到错误

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

有没有人遇到过此类问题并找到解决方案?

JBG*_*ber 5

绘图中的字体是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")
Run Code Online (Sandbox Code Playgroud)

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