Mac上的R错误:"系列' Times New Roman'不包含在postscript()设备"

时间:2015-12-22 14:20:53

标签: r macos fonts ggplot2 postscript

我在macbook上使用R。

此代码:

postscript("plot.eps")
ggplot(SomeData, aes (x=Cue, y=var1, group=var2, color=var2, shape=var2)) + 
  geom_line(size=0.5) + 
  geom_point(size = 3) +
  geom_errorbar(aes(ymin=Var1-ci, ymax=Var1+ci), width=0.15, size=0.5) +  
  xlab("Var1") + ylab("Var2")+ 
  coord_cartesian(ylim=c(600, 675)) + 
  theme(axis.text = element_text(colour = "black")) + 
  scale_colour_manual(values=darkcols) + 
  theme(text = element_text(size=16, family="Times New Roman")) + 
  theme(legend.position="bottom")
dev.off()

返回此错误:

Error in grid.Call(L_textBounds, as.graphicsAnnot(x$label), x$x, x$y,  : 
family 'Times New Roman' not included in postscript() device

字体系列在图上定义。尝试使用postscript(family="Times")postscript(family="Times New Roman")对其进行定义,但没有成功

尝试font_import() / loadfonts(),但这会产生更多错误(Plot在执行此操作后甚至不会出现在QUARTZ上)

检查字体文件夹中的禁用字体,启用Times New Roman。

使用names(postscriptFonts())检查R中可用的字体,它就在那里。

就像我说的那样,情节在Quartz中看起来非常完美,但是将它保存为带有postscript的.eps会产生上述错误和一个空白文件。

关于如何解决的任何想法?

2 个答案:

答案 0 :(得分:3)

您也可以尝试使用Cairo软件包,根据我的经验,这种软件包可以更好地使用不同的字体。

library(Cairo)
cairo_ps("test.eps", family = "Times")
plot(rnorm(100))
dev.off()

答案 1 :(得分:1)

这似乎有效(对于时代而言)。所以我认为你只需要在你的postscript()函数中添加family =“Times”。

for(var i=0,len=inputs.length;i<len;i++){
    inputs[i].addEventListener('focus',function(){
        //handle event
    })
}