R: рисование textGrob не удается с загадочной ошибкой
У меня есть четыре вида графики, каждый из которых превращается в гроб с очевидным успехом. Я пытаюсь объединить их в одно изображение с помощью 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
не имеет такого сообщения об ошибке в своем коде, и при этом as.graphicsAnnot, resolveHJust
, или же resolveVJust
,
Я врезался в стену на этом. Любые идеи или предложения, как решить эту проблему или обойти это высоко ценится.
Все сделано под Windows 7.
1 ответ
От ?Hershey
,
Вы не можете использовать математические выражения (plotmath) со шрифтами Hershey.
Это означает, что шрифты Hershey несовместимы с чем-либо перечисленным в ?plotmath
, такие как scriptstyle
, atop
и конечно expression
,