我在R图中使用expression()
来获得斜体文本。 但似乎我不能在ASCII字符以外的expression
使用Unicode符号。 有什么办法可以解决这个问题吗? 我的目标是在我的R barplots(连同斜体文字)中的各种标签中获得连环。
我使用Windows版本3.0.2 R。
CairoPDF(file = "Ligature1.pdf") plot.new() text(x =.5, y = .5, labels = "fi", family = "Times New Roman") dev.off()
CairoPDF(file = "Ligature2.pdf") plot.new() text(x =.5, y = .5, labels = expression(paste(italic(m), "u", "fi", italic(m), sep = "")), family = "Times New Roman") dev.off()
你问了一个解决办法。 这就是这一切。 斜体部分需要expression
,但是“fi”部分不是,所以单独打印。
plot.new() offset1 = strwidth(expression(paste(italic(m), "u")), units="figure") text(x =.5, y = .5, labels = expression(paste(italic(m), "u", sep=""))) text(x =.5+offset1, y = .5, labels ="fi") offset2 = strwidth("fi ") text(x =.5+offset1+offset2, y = .5, labels = expression(italic(m)))
但是请注意,关于“fi”的间距是不太正确的,所以当我计算屏幕上的宽度时,我欺骗并计算了“fi”的宽度(带有一个额外的空白)。 没有额外的间距,第二个italic(m)
与“fi”重叠。
不漂亮,但它在Windows下产生所需的结果。