Il a résolu ma question avec un minimum de problèmes. C'était une solution en deux étapes à laquelle je ne serais pas arrivé sans suivre les conseils des membres qui ont répondu.
Pour modifier les valeurs par défaut du texte de ggplot, j'ai adapté le code auquel Brandon m'a renvoyé à :
http://johndunavent.com/combined-line-and-bar-chart-ggplot2
Où John Dunavent crée une fonction, theme_min, qui peut être modifiée pour fournir les options par défaut d'un ggplot, y compris l'utilisation des polices importées de Windows avec la commande windowsFonts. Mon adaptation de son code ressemble à ceci :
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'))
}
##Create a custom font type. Could be 'F', 'TEST', whatever
windowsFonts(F = windowsFont('Wide Latin'))
##and insert this line of code into the original code I list above:
+ theme_min(font='F', size=10)
De façon maladroite, il n'existe aucun moyen (que j'ai trouvé) de modifier de façon générique les paramètres de la police pour les objets geom_text avant la création d'un tracé. La solution proposée par James ci-dessus a toutefois parfaitement fonctionné dans ce cas. Au lieu d'utiliser une police standard, j'ai défini fontfamily="F" pour faire intervenir la police personnalisée que j'ai sélectionnée dans theme_min(), c'est-à-dire :
grid.gedit("GRID.text",gp=gpar(fontfamily="F"))
J'espère que cela sera utile à tous les autres utilisateurs qui cherchent à modifier les polices sur leurs graphiques.
Merci à tous ceux qui m'ont aidé à résoudre ce problème ! Aaron
0 votes
Comment
tikzDevice
et XeTeX ?