2014-12-29 38 views
12

Çalışmamda R kullanarak çeşitli grafikler oluşturuyorum. Grafiklerin çoğunun çeşitli boyutlarda bir Sans Serif tipi yazı tipi ile geldiğini görüyorum.Grafik için Yazı Tiplerini Değiştirme R

Bir grafikteki (x-label, y-label, title, legend vb.) Tüm metni tek tip bir fontta nasıl değiştirebilirim örn. Times New Roman, 12pt, Kalın mı?

+0

yazı tipini başvurmak için kullanması gereken

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

kullanarak, R dahili yazı vermesidir ggplot2 gibi paket? –

cevap

20

extrafont paketini kullanabilirsiniz.

enter image description here

Not

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 

:
extrafont paketini kullanarak, aynı zamanda PDF bu fontları gömmek ve dosyaları (R ve PDF/EPS ihracat araziler olun) EPS yapabilirsiniz. Genellikle TeX kullanılarak oluşturulan matematik sembollerini doğrudan (aşağıdaki çizimde matematik denklemine bakınız) oluşturabilirsiniz. Daha fazla bilgi için here ve here. Ayrıca github project page'a da bakın.

enter image description here

Ayrıca extrafont paketini kullanarak xkcd tarzı grafikler oluşturmak açıklar this cevap bak.

enter image description here

5

Sen plot içinde windowsFonts() komuta ve family seçeneğini kullanarak Times New Roman için Windows'da yazı tipini değiştirebilirsiniz:

x = seq(1,10,1) 
y = 1.5*x 
windowsFonts(A = windowsFont("Times New Roman")) 
plot(x, y, 
    family="A", 
    main = "title", 
    font=2) 

Kalın metin font=2 geliyor. Boyut olarak, bkz. ?cex(). Ayrıca, buraya bakın: http://www.statmethods.net/advgraphs/parameters.html

enter image description here

5

Burada Gördüğünüz gibi 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 

kullanarak ggplot çözüm, metin gerçekten Times New Roman olduğunu.

ana fikir ne ad size baz arsa veya özel bir komplo kullanıyorsunuz

theme(text=element_text(family="name",...),...) 
İlgili konular