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


115

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

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

qplot (Happiness.Level, Number.of.Answers, data=mydata, geom="histogram") + facet_grid (Location ~ .) 

Боковой комментарий, что я нашел другой способ подойти к этому (использовал 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.