ggplot: Как увеличить расстояние между фасетными участками?

115

У меня есть несколько фасетных гистограмм (полученных с помощью приведенной ниже команды), которые красиво построены одна под другой. Хотелось бы увеличить расстояние между ними, но они плотные.

Я просмотрел документ, но не нашел для этого параметра.

qplot (Happiness.Level, Number.of.Answers, data=mydata, geom="histogram") + facet_grid (Location ~ .) 
wishihadabettername
источник
Боковой комментарий, что я нашел другой способ подойти к этому (использовал Face_wrap вместо facet_grid, и получившаяся диаграмма выглядит лучше). Мне все еще интересно, есть ли способ ответить на исходный вопрос.
wishihadabettername
2
Попробуйте theme_get () для множества скрытых опций, которые вы можете настроить с помощью opts ()
Брэндон Бертелсен,

Ответы:

170

Используйте функцию темы :

library(grid)

p + theme(panel.spacing = unit(2, "lines"))

См. Также здесь: Нарезка графиков, созданных ggplot2

система охлаждения реактора
источник
8
В связи с другим обновлением, заклинание теперьtheme(panel.margin = unit(2, "lines"))
Дэвид Дж. Харрис
11
Обновление - сейчасtheme(panel.spacing = unit(1, "lines"))
Mr.ecos
Это работает без gridпакета. По моему опыту, метки x двух расположенных рядом друг с другом графиков часто перекрываются (самая большая метка на левой и самая маленькая метка на правой). Одно из решений для исправления вывода - ggsaveэто ширина, превышающая стандартную. Но мне кажется theme(panel.spacing = unit(1, "lines"))лучше, потому что это также работает для всплывающего окна графика.
PatrickT