为什么我在grid.Call中使用ggplot会出现间歇性错误?

时间:2017-04-14 20:25:07

标签: r ggplot2 rstudio

当我运行ggplot()时,我随机得到这两个错误中的一个或两个:

  

grid.Call中的错误(L_textBounds,as.graphicsAnnot(x $ label),x $ x,x $ y,:    未找到多边形边缘

或:

  

HOW_BACKTRACE环境变量。

最初,代码无法运行。但是,如果我尝试运行该代码块三次或四次,最终它会起作用。

这与Error in grid.Call by user1393491中的错误不同,因为我没有收到错误的这一部分:

  

1:在grid.Call中(L_textBounds,as.graphicsAnnot(x $ label),x $ x,x $ y,:
   没有字体可以找到家庭“Arial”
  2:在grid.Call中(L_textBounds,as.graphicsAnnot(x $ label),x $ x,x $ y,:
   没有字体可以找到家庭“Arial”

我尝试删除MS Arial字体并启用Arial.ttf,如上所述,但无济于事。但是,我不相信字体错误实际上是问题。

以下是导致此错误的gglot()脚本的一个示例,但每次调用ggplot()时都会弹出错误:

ggplot(n2o_ghad_sum, aes(y = mean, x = date, ymin = mean - se,
ymax = mean + se, fill = system, xmin = min(date), xmax = max(date))) +
coord_fixed(ratio = 0.2/(24/100)) +
geom_bar(aes(alpha = system), color = 'black', size = 0.2,
  stat = 'identity', position = position_dodge(width = 6.5)) +
geom_errorbar(position = position_dodge(width = 6.5)) +
scale_fill_manual(name = "System",
  labels = c("Post-Harvest\n+ Tillage","PH+T\nCC Removed",  
  "Interseeded\n(BM)", "IS (BM)\nCC Removed"),
values = c(ph_col, ph_col, us_col, us_col)) +
scale_x_date(breaks = unique(n2o_ghad_sum$date), date_labels = "%b %d") +
scale_alpha_manual(name = "System",
  labels = c("Post-Harvest\n+ Tillage","PH+T\nCC Removed",  
  "Interseeded\n(BM)", "IS (BM)\nCC Removed"),
  values = c(1, 0.3, 1, 0.3)) +
labs(x = "Date", y = expression(atop(paste('N'[2], 'O Emissions'),
  paste('(g N'[2], O-N ~ ha^{-1} ~ d^{-1}, ')'))))

使用R版本3.3.0和ggplot2版本2.2.1

如何在将来防止此错误?如果我能提供任何进一步的信息,请告诉我。

0 个答案:

没有答案