2014-12-29 17 views
12

In meiner Studie erzeuge ich verschiedene Graphen mit R. Ich sehe, dass die meisten Graphen mit einer Schrift vom Typ Sans Serif in verschiedenen Größen versehen sind.Ändern von Schriftarten für Graphen in R

Wie ändere ich den gesamten Text in einem Diagramm (x-label, y-label, Titel, Legende usw.) in eine einheitliche Schriftart, z. Times New Roman, 12 Punkte, fett?

+0

zu referenzieren Sind Sie Grundstück oder eine spezielle Plotten mit Paket wie ggplot2? –

Antwort

20

Sie können das Paket extrafont verwenden.

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 

enter image description here

Hinweis: Mit dem extrafont Paket können Sie auch einbetten diese Schriften in PDF und EPS-Dateien (Plots in R und den Export in PDF/EPS machen). Sie können auch direkt mathematische Symbole erstellen (siehe mathematische Gleichung im Diagramm unten), die normalerweise mit TeX erstellt werden. Weitere Informationen here und here. Schauen Sie sich auch die github project page an.

enter image description here

bei this Antwort Schauen Sie auch die xkcd Stil Graphen mit dem extrafont Paket beschreibt die Erstellung.

enter image description here

5

Sie können die Schriftart in Windows Times New Roman die windowsFonts() Befehl ändern und die family Option in 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) 

Bold Text stammt aus font=2. Bezüglich der Größe siehe ?cex(). Auch hierzu finden Sie hier: http://www.statmethods.net/advgraphs/parameters.html

enter image description here

5

Hier ist eine ggplot Lösung 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 

Verwendung Wie Sie sehen können, der Text ist wirklich Times New Roman.

Die Hauptidee ist, dass Sie einen beliebigen Namen der Schriftart intern in R geben,

windowsFonts(name=windowsFont("system name")) 

verwenden, sollten Sie die Schriftart in verwenden

theme(text=element_text(family="name",...),...) 
Verwandte Themen