поля поля ділянки ggplot2?


86

Чи є простий спосіб збільшити простір між заголовком сюжету та площею сюжету під ним (поле з даними). Подібним чином я волів би мати простір між заголовком осі та мітками осі.

Іншими словами, чи є спосіб "трохи перенести заголовок вгору, заголовок осі y трохи вліво, а заголовок осі x трохи вниз"?


1
Ви завжди можете вставити деякі "\n"символи в заголовки, щоб накласти нові рядки.
Джоран

Відповіді:


113

Ви можете налаштувати сюжетні поля з plot.marginв theme()і потім проведіть мітки осей і назва з vjustаргументом element_text(). Наприклад :

library(ggplot2)
library(grid)
qplot(rnorm(100)) +
    ggtitle("Title") +
    theme(axis.title.x=element_text(vjust=-2)) +
    theme(axis.title.y=element_text(angle=90, vjust=-0.5)) +
    theme(plot.title=element_text(size=15, vjust=3)) +
    theme(plot.margin = unit(c(1,1,1,1), "cm"))

дасть вам щось подібне:

введіть тут опис зображення

Якщо ви хочете отримати більше інформації про різні theme()параметри та їх аргументи, ви можете просто ввести ?themeв підказці R.


4
Дякую! Я не був впевнений, що надати, grid::unitsщоб зробити це для plot.marginаргументу. Виявляється, вам потрібно надати число довжиною 4 units. Шкода, що xаргумент, unitsякимсь чином не перероблений. Крім того, ви, напевно, це вже знаєте, але варто зазначити / оновити, що optsзараз застаріло в останній версії ggplot2 (0.9.2+), заміненій на theme, як theme_textзараз замінено на element_text.
Paul McMurdie

44
Порядок ребер для plot.margin - одиниця (c (вгорі, праворуч, знизу, зліва), одиниці), якщо хтось інший хоче заощадити час, шукаючи це.
mightypile

16
@generic_user: можливо, легше запам'ятати, як зазначалося тут :t, r, b, l (To remember order, think trouble).
Tung

3
Крім того, щоб пам'ятати ... це тільки по годинниковою стрілкою від верхньої: top, right, bottom, left.
спопс

1
також:margin(t, r, l, b)
Брайан Д.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.