我最近了解到,我需要保持论文字体与嵌入图形的字体一致。由于我决定将Times New Roman用于文本正文,因此我需要重新查看我的图形并使用相同的字体进行编码。不幸的是,我原本以为简单的功能变成了HUUGE头疼。按照别人的建议,我继续安装“ 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的相对新手,因此,我希望任何明确且通常在上述代码范围内的建议成为您的建议。预先感谢!