我相对轻松地解决了我的查询问题,这是一个分为两步的解决方案,如果不遵循回答成员的建议,我可能不会得出这个方案。
要更改ggplot文本默认设置,我修改了Brandon提供给我的代码,代码来源于:http://johndunavent.com/combined-line-and-bar-chart-ggplot2
在那里,John Dunavent创建了一个名为theme_min的函数,可以编辑以提供ggplot的默认选项,包括使用通过windowsFonts命令导入的Windows字体。 我对他的代码进行了适应,如下所示:
theme_min = function (size=10, font=NA, face='plain',
panelColor=backgroundColor, axisColor='#999999',
gridColor=gridLinesColor, textColor='black')
{
theme_text = function(...)
ggplot2::theme_text(family=font, face=face, colour=textColor,
size=size, ...)
opts(
axis.text.x = theme_text(),
axis.text.y = theme_text(),
axis.line = theme_blank(),
axis.ticks = theme_segment(colour=axisColor, size=0.25),
panel.border = theme_rect(colour=backgroundColor),
legend.background = theme_blank(),
legend.key = theme_blank(),
legend.key.size = unit(1.5, 'lines'),
legend.text = theme_text(hjust=0),
legend.title = theme_text(hjust=0),
panel.background = theme_rect(fill=panelColor, colour=NA),
panel.grid.major = theme_line(colour=gridColor, size=0.33),
panel.grid.minor = theme_blank(),
strip.background = theme_rect(fill=NA, colour=NA),
strip.text.x = theme_text(hjust=0),
strip.text.y = theme_text(angle=-90),
plot.title = theme_text(hjust=0),
plot.margin = unit(c(0.1, 0.1, 0.1, 0.1), 'lines'))
}
windowsFonts(F = windowsFont('Wide Latin'))
+ theme_min(font='F', size=10)
尴尬的是,在创建绘图之前,我没有找到一种通用修改geom_text对象字体设置的方法。尽管如此,James上面的解决方案完美地解决了这个问题。我没有使用标准字体,而是使用fontfamily="F"来引入我在theme_min()中选择的自定义字体。
grid.gedit("GRID.text",gp=gpar(fontfamily="F"))
希望这对于其他想要修改图表字体的用户有所帮助。
感谢所有帮助我解决问题的人!
Aaron
tikzDevice
和 XeTeX 怎么样? - baptiste