Збільшити відстань між текстом і заголовком по осі y


108

Заголовок осі y відображається занадто близько до тексту осі.

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

ggplot вихід

Я спробував змінити значення багатьох параметрів, theme()але жоден, здається, не допоможе.

Відповіді:


171

Від ggplot2 2.0.0вас можна використовувати margin =аргумент, element_text()щоб змінити відстань між заголовком осі та числами. Установка значень marginна tоп, rпрольоті, bottom і lEFT боку елемента.

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

marginможе також використовуватися для інших element_textелементів (див. ?theme), таких як axis.text.x, axis.text.yі title.


4
Цей метод, здається, не працює facet_grid, тоді як відповідь, запропонована Адамом Б, робить (тобто розрив рядка з використанням \ n)
Анонім

@Anonymous Чи можете ви навести приклад, коли цей margin =аргумент не wokr?
Didzis Elferts

Я спробував це theme_bw. Вибачте, опублікувати весь код нечитано / безладно ...
Анонім

3
@Anonymous Якщо ви використовуєте, theme_bw()то theme_bw()слід використовуватись перед theme()функцією, оскільки в заздалегідь заданих темах вже є аргумент для заголовків осей.
Дідзіс Ельферт

Дякуємо за роз’яснення!
Анонім

97

На основі цього повідомлення на форумі: https://groups.google.com/forum/#!topic/ggplot2/mK9DR3dKIBU

Звучить, як найпростіше, це додати розрив рядка (\ n) перед осі x та після міток осі y. Здається, набагато простіше (хоча й тупіше), ніж рішення, розміщені вище.

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

Сподіваюся, що це допомагає!


4
Зазвичай я використовую цей метод, це набагато швидше, і він не вимагає додавати ще один варіант до ggplot, якщо мені не потрібні певні налаштування.
Р. Прост
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.