Tambah jarak antara teks dan judul pada sumbu y

108

Judul sumbu y muncul terlalu dekat dengan teks sumbu.

ggplot(mpg, aes(cty, hwy)) + geom_point()

keluaran ggplot

Saya telah mencoba mengubah nilai banyak parameter dengan theme()tetapi tampaknya tidak ada yang membantu.

Ernest A
sumber

Jawaban:

171

Dari ggplot2 2.0.0Anda dapat menggunakan margin =argumen element_text()untuk mengubah jarak antara judul sumbu dan angka. Mengatur nilai-nilai dari marginpada top, right, bottom, dan lsisi TDE elemen.

ggplot(mpg, aes(cty, hwy)) + geom_point()+
  theme(axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)))

marginjuga dapat digunakan untuk element_textelemen lain (lihat ?theme), seperti axis.text.x, axis.text.ydan title.

Didzis Elferts
sumber
4
Metode ini tampaknya tidak berhasil facet_grid, sedangkan jawaban yang disarankan oleh Adam B berhasil (yaitu pemutusan baris menggunakan \ n)
Anonim
@Anonymous Bisakah Anda memberikan contoh di mana margin =argumen ini tidak berhasil?
Didzis Elferts
Saya mencobanya dengan theme_bw. Maaf, memposting seluruh kode tidak dapat dibaca / berantakan ...
Anonim
3
@Anonymous Jika Anda menggunakan theme_bw()maka theme_bw()harus digunakan sebelum theme()fungsi karena dalam tema yang telah ditentukan sebelumnya sudah ada argumen untuk judul sumbu.
Didzis Elferts
Terimakasih atas klarifikasinya!
Anonim
97

Berdasarkan posting forum ini: https://groups.google.com/forum/#!topic/ggplot2/mK9DR3dKIBU

Sepertinya hal termudah untuk dilakukan adalah menambahkan pemisah baris (\ n) sebelum sumbu x Anda, dan setelah label sumbu y Anda. Tampaknya jauh lebih mudah (meskipun lebih bodoh) daripada solusi yang diposting di atas.

ggplot(mpg, aes(cty, hwy)) + 
    geom_point() + 
    xlab("\nYour_x_Label") + ylab("Your_y_Label\n")

Semoga membantu!

Adam B
sumber
4
Saya biasanya menggunakan metode ini, jauh lebih cepat dan tidak perlu menambahkan opsi lain ke ggplot kecuali saya memerlukan beberapa penyesuaian khusus.
R. Prost