Как вы меняете шрифты в ggplot2? - PullRequest
0 голосов
/ 07 декабря 2018

Я недавно узнал, что мне нужно, чтобы шрифт моего тезиса соответствовал шрифту моих встроенных рисунков.Поскольку я решил использовать Times New Roman для основного текста, мне нужно пересмотреть свои цифры и кодировать их тем же шрифтом.К сожалению, то, что я думал, было бы простой функцией, превратилось в ОГРОМНУЮ головную боль.Следуя советам других, я установил пакет «extrafont» и загрузил все шрифты, доступные с моего устройства (я работаю на Macbook fyi).После использования всего необходимого кода, который я мог вычеркнуть из других запросов на переполнение стека, меня встретили с предварительным просмотром моей фигуры, показывающей правильный шрифт (опять же, Times New Roman).Тем не менее, головная боль началась после попытки экспортировать его с помощью функции ggsave.К сожалению, я получил следующую ошибку:

Было 50 или более предупреждений (используйте warnings (), чтобы увидеть первые 50)

После запуска предложенной функции, чтобы узнать больше об этих предупреждениях, ябыл встречен длинный список повторяющихся ошибок:

> warnings()
Warning messages:
1: In grid.Call(C_textBounds, as.graphicsAnnot(x$label),  ... :
  font family 'Times New Roman' not found in PostScript font database
2: In grid.Call(C_textBounds, as.graphicsAnnot(x$label),  ... :
 font family 'Times New Roman' not found in PostScript font database
3: In grid.Call(C_textBounds, as.graphicsAnnot(x$label),  ... :
  font family 'Times New Roman' not found in PostScript font database
4: In grid.Call(C_textBounds, as.graphicsAnnot(x$label),  ... :
  font family 'Times New Roman' not found in PostScript font database
5: In grid.Call(C_textBounds, as.graphicsAnnot(x$label),  ... :
  font family 'Times New Roman' not found in PostScript font database
6: In grid.Call(C_textBounds, as.graphicsAnnot(x$label),  ... :

И так далее.Что здесь происходит и как мне это исправить в моем коде?Код, который я использовал, приведен ниже.И да, после запуска функции loadfonts (device) мне было предложено принять функцию (y / n), и я ждал, пока она полностью загрузится, прежде чем двигаться дальше с моим кодом.И да, я сразу же запустил команду fonts (), чтобы дважды проверить, что Times New Roman был в списке.Вот мой код:

install.packages("extrafont")
library(extrafont)
font_import()
loadfonts(device)
fonts()

ggplot(plot1, aes(x=ecotype, y=mean, fill=treatment))+
  geom_bar(stat="identity", position="dodge")+
  geom_errorbar(aes(ymin=mean-se, ymax=mean+se), position=position_dodge(.9), 
width=.3)+
  scale_fill_manual(values=c("#CA3542","#37AFA9"), 
labels=c("Control","Exclusion"), name="Treatment")+
  labs(x="Ecotype", y="Expected Mean Dry Aboveground Biomass (g)")+
  geom_hline(aes(yintercept=0), size=.3)+
  facet_grid(site~., scales="free")+
  theme_bw()+
  theme(axis.title.x=element_text(size=16))+
  theme(axis.title.y=element_text(size=16))+
  theme(axis.text.x=element_text(size=16))+
  theme(axis.text.y=element_text(size=16))+
  theme(strip.text.y=element_text(size=16))+
  theme(legend.title=element_text(size=12))+
  theme(legend.text=element_text(size=12))+
  theme(text=element_text(family="Times New Roman"))+
  theme(legend.justification = c(0.9,1.1), legend.position=c(0.95,1), 
panel.grid.major = element_blank(), panel.grid.minor = element_blank())
ggsave("plot1.eps", height = 8, width = 5)

Отказ от ответственности: я все еще относительный новичок в R, поэтому я был бы признателен за любые советы, чтобы быть ясным и в целом в контексте приведенного выше кода.Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...