相关疑难解决方法(0)

安装字体以便 R postscript() 设备可以识别它们

根据这篇文章中的建议,我试图将衬线字体(或字体“系列”)安装到 R 中,以便我可以将 ggplots 保存为 .eps 文件。尽管提供的建议有效,但我想尝试解决该问题以供将来使用。

这是生成问题的代码。

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

在此输入图像描述

现在当我去保存这个数字时......

ggplot2::ggsave(filename = "tPlot.eps", 
                plot = t, 
                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)

在上一篇文章中,回答者建议我下载该extrafont软件包。

我跑了

View(fonttable())
Run Code Online (Sandbox Code Playgroud)

但衬线字体似乎没有安装。

然后我尝试了

font_addpackage(pkg = "serif")
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

Error in font_addpackage(pkg = "serif") : 
  Unknown font …
Run Code Online (Sandbox Code Playgroud)

fonts r ggplot2 extrafont

5
推荐指数
1
解决办法
3539
查看次数

无法将 ggplot 保存为 eps

我已经读过这个这个,但无法使其发挥作用。

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

我不断收到错误消息

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

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

setEPS()
postscript("whatever.eps")
plot(rnorm(100), main="Hey Some Data")
dev.off()
Run Code Online (Sandbox Code Playgroud)

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

r ggplot2

3
推荐指数
1
解决办法
8570
查看次数

标签 统计

ggplot2 ×2

r ×2

extrafont ×1

fonts ×1