Ubah ukuran judul sumbu dan label di ggplot2

145

Saya punya pertanyaan yang sangat sederhana, yang saya perjuangkan untuk menemukan jawabannya. Saya berharap seseorang di sini mungkin dapat membantu saya.

Contoh kerangka data disajikan di bawah ini:

a <- c(1:10)
b <- c(10:1)
df <- data.frame(a,b)
library(ggplot2)
g = ggplot(data=df) + geom_point(aes(x=a, y=b)) +
  xlab("x axis")
g

Saya hanya ingin belajar bagaimana saya mengubah ukuran teks dari judul sumbu dan label sumbu.

KT_1
sumber

Jawaban:

313

Anda dapat mengubah teks sumbu dan ukuran label dengan argumen axis.text=dan axis.title=fungsinya theme(). Jika Anda perlu, misalnya, hanya mengubah ukuran judul sumbu x, kemudian gunakan axis.title.x=.

g+theme(axis.text=element_text(size=12),
        axis.title=element_text(size=14,face="bold"))

Ada contoh bagus tentang pengaturan theme()parameter yang berbeda di halaman ggplot2 .

Didzis Elferts
sumber
8
Ada juga fungsi yang sangat intuitif rel()sekarang. misalnyasize = rel(2.0)
HongboZhu
2
bagaimana cara mengubah labs(x = "x axis")ukuran teks tanpa mengubah nilai kutu sumbu x?
baxx
53

Saya pikir cara yang lebih baik untuk melakukan ini adalah mengubah base_sizeargumen. Ini akan meningkatkan ukuran teks secara konsisten.

g + theme_grey(base_size = 22)

Seperti yang terlihat di sini .

chunjiw
sumber
5
Jika Anda sudah memiliki themecontoh lain , ini dapat menyebabkan konflik.
Adam Erickson
10

Jika Anda membuat banyak grafik, Anda bisa bosan mengetik untuk setiap grafik, baris-baris kode yang mengendalikan ukuran judul dan teks. Apa yang biasanya saya lakukan adalah membuat objek (kelas "tema" "gg") yang mendefinisikan karakteristik tema yang diinginkan. Anda dapat melakukannya di awal kode Anda.

My_Theme = theme(
  axis.title.x = element_text(size = 16),
  axis.text.x = element_text(size = 14),
  axis.title.y = element_text(size = 16))

Selanjutnya, yang harus Anda lakukan adalah menambahkan My_Theme ke grafik Anda.

g + My_Theme
jika Anda memiliki grafik lain, g1, cukup tulis:
g1 + My_Theme 
dan seterusnya.
Rtist
sumber
4

Untuk mengubah ukuran (hampir) semua elemen teks, di satu tempat, dan secara bersamaan, rel()cukup efisien:
g+theme(text = element_text(size=rel(3.5))

Anda mungkin ingin mengubah nomornya sedikit, untuk mendapatkan hasil yang optimal. Ini menetapkan label dan judul sumbu horizontal dan vertikal, dan elemen teks lainnya, pada skala yang sama. Satu pengecualian adalah judul kisi faceted yang harus disetel secara manual ke nilai yang sama, misalnya jika kedua sisi x dan y digunakan dalam grafik:
theme(text = element_text(size=rel(3.5)), strip.text.x = element_text(size=rel(3.5)), strip.text.y = element_text(size=rel(3.5)))

TertarikInR
sumber