我有四种不同类型的图形,每一种都转换成一个明显成功的 grob。我正在尝试使用 grid.arrange() 将它们组合成一个图像。四个之一——我会说四个中最简单的一个——会产生错误,即使没有其他三个。
grid.text(expression(atop("first line",
scriptstyle("second line"))),
vjust = 0, gp=gpar(fontfamily = "HersheySans"))
Error in grid.Call.graphics(L_text, as.graphicsAnnot(x$label), x$x, x$y, :
Metric information not available for this family/device
这是traceback()
8: grid.Call.graphics(L_text, as.graphicsAnnot(x$label), x$x, x$y,
resolveHJust(x$just, x$hjust), resolveVJust(x$just, x$vjust),
x$rot, x$check.overlap)
7: drawDetails.text(x, recording = FALSE)
6: drawDetails(x, recording = FALSE)
5: drawGrob(x)
4: recordGraphics(drawGrob(x), list(x = x), getNamespace("grid"))
3: grid.draw.grob(tg)
2: grid.draw(tg)
1: grid.text(expression(atop("first line", scriptstyle("second line"))),
vjust = 0, gp = gpar(fontfamily = "HersheySans"))
如果我从函数中删除scriptstyle
和,我会得到同样的错误vjust
,所以他们不是罪魁祸首。
我什至无法弄清楚错误来自什么函数。grid.Call.graphics 没有被导出,但grid:::grid.Call.graphics
它的代码中没有类似的错误消息,也没有 doas.graphicsAnnot, resolveHJust
或resolveVJust
.
我在这个问题上碰壁了。任何想法或建议如何解决这个问题或解决它都非常感谢。
全部在 Windows 7 下完成。