使用ggplot2对象和自定义字体从终端运行R脚本(无效的字体类型)

时间:2019-04-04 21:19:41

标签: r macos terminal command

我有一个脚本可以在R和RStudio中正常工作,但是当我在终端(macOS)中运行Rscript mycode.R时,它会返回以下错误:

Error in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y,  :
  invalid font type
Calls: stocks_report ... drawDetails -> drawDetails.text -> grid.Call.graphics
Execution halted

我知道这种情况正在发生,因为我使用了lares::theme_lares2()函数,该函数将情节的字体设置为'Arial Narrow'。但是,为什么在终端上运行会遇到问题?

可复制的例子很少。这段代码运行正常。您可以将其保存到mycode.R文件中。

library(ggplot2)
library(lares) # devtools::install_github("laresbernardo/lares")
data(diamonds)
ggplot(diamonds, aes(cut, price)) + geom_boxplot() + theme_lares2()

尝试运行Rscript mycode.R,将返回相同的错误。

PS:请耐心安装lares库...它具有很多依赖性。谢谢! :)

1 个答案:

答案 0 :(得分:0)

如果这是您的代码,则可能是因为您没有告诉R将绘图输出到文件中。这很好,因为它将在Rstudio中自动绘制它,但是在命令行中没有图形。我会尝试从saving graphics此处添加一些方式

pdf("where_file.pdf")
ggplot(diamonds, aes(cut, price)) + geom_boxplot() + theme_lares2()
dev.off()