Modification des polices de caractères pour les graphiques en R
dans mon étude, je génère divers graphiques à L'aide de R. Je vois que la plupart des graphiques sont produits avec une police Sans empattement de différentes tailles.
comment modifier tout le texte d'un graphique (X-label, y-label, titre, Légende, etc.) dans une police uniforme, par exemple Times New Roman, 12pt, Bold?
3 réponses
Vous pouvez utiliser le extrafont paquet.
install.packages("extrafont")
library(extrafont)
font_import()
loadfonts(device="win") #Register fonts for Windows bitmap output
fonts() #vector of font family names
## [1] "Andale Mono" "AppleMyungjo"
## [3] "Arial Black" "Arial"
## [5] "Arial Narrow" "Arial Rounded MT Bold"
library(ggplot2)
data(mtcars)
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme_bw() +
theme(text=element_text(family="Times New Roman", face="bold", size=12)) #Times New Roman, 12pt, Bold
#example taken from the Github project page
Remarque:extrafont
paquet, vous pouvez également intégrer ces polices dans les fichiers PDF et EPS (faire des tracés dans R et exporter vers PDF/EPS). Vous pouvez aussi créer directement des symboles mathématiques (voir équation mathématique dans le graphique ci-dessous), généralement créés en utilisant TeX. Plus d'information ici et ici. Aussi regarder github du projet page.
regardez réponse qui décrit la création d' xkcd graphiques de style utilisant le extrafont
paquet.
Voici un ggplot
solution en utilisant WindowsFonts(...)
windowsFonts(Times=windowsFont("Times New Roman"))
library(ggplot2)
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
ggtitle("Fuel Efficiency of 32 Cars") +
xlab("Weight (x1000 lb)") + ylab("Miles per Gallon") +
theme_bw() +
theme(text=element_text(family="Times", face="bold", size=12)) #Times New Roman, 12pt, Bold
comme vous pouvez le voir, le texte est en fait Times New Roman.
L'idée principale est que quel que soit le nom que vous donnez à la police en interne dans R, en utilisant
windowsFonts(name=windowsFont("system name"))
vous devriez utiliser pour référencer la police dans
theme(text=element_text(family="name",...),...)
vous pouvez changer la police dans Windows en Times New Roman en utilisant le windowsFonts()
le commandement et le family
option dans plot
:
x = seq(1,10,1)
y = 1.5*x
windowsFonts(A = windowsFont("Times New Roman"))
plot(x, y,
family="A",
main = "title",
font=2)
le texte en gras provient de font=2
. Comme pour la taille, voir ?cex()
. Voir aussi:http://www.statmethods.net/advgraphs/parameters.html