2015-12-22 5 views
4

Я использую R на macbook.Ошибка R на Mac: «Семья« Times New Roman »не включена в устройство postscript()«

Этот код:

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 обыкновения даже показать на КВАРЦ после выполнения этого)

Проверено отключенных шрифтов в папке шрифтов, Times New Roman включен.

Проверьте шрифты, имеющиеся в R, с помощью names(postscriptFonts()), и он есть.

Как я уже сказал, сюжет отлично выглядит в кварце, но сохранение его как .eps с postscript генерирует указанную ошибку и пустой файл.

Любые идеи о том, как их решить?

ответ

2

Вы также можете попробовать использовать Cairo пакет, который, по моему опыту лучше работает с различными шрифтами.

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

Это похоже на работу (для Times). Поэтому я думаю, вам просто нужно добавить family = «Times» в функцию postscript().

p <- ggplot(mtcars, aes (x=cyl, y=disp)) + 
    geom_point(size = 3) + 
    theme(text = element_text(size=16, family="Times")) + 
    theme(legend.position="bottom") 

postscript("plot.eps", family="Times") 
p 
dev.off()