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

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

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

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

person wishihadabettername    schedule 10.09.2010    source источник
comment
Боковой комментарий, что я нашел другой способ подойти к этому (использовал Face_wrap вместо facet_grid, и получившаяся диаграмма выглядит лучше). Мне все еще интересно, есть ли способ ответить на исходный вопрос.   -  person wishihadabettername    schedule 10.09.2010
comment
Попробуйте theme_get () для множества скрытых опций, которые вы можете настроить с помощью opts ()   -  person Brandon Bertelsen    schedule 28.09.2010


Ответы (2)


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

library(grid)

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

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

person rcs    schedule 10.09.2010
comment
stackoverflow.com/questions/12252750 / - person user4786271; 12.08.2015
comment
В связи с очередным обновлением заклинание теперь theme(panel.margin = unit(2, "lines")) - person David J. Harris; 08.11.2016
comment
Обновление - сейчас theme(panel.spacing = unit(1, "lines")) - person Mr.ecos; 13.02.2017
comment
Это работает без пакета grid. По моему опыту, метки x двух расположенных бок о бок графиков часто перекрываются (самая большая метка на левой и самая маленькая метка на правой). Одно из решений для исправления вывода - это ggsave с большей шириной, чем значение по умолчанию. Но я считаю theme(panel.spacing = unit(1, "lines")) более приятным, потому что это также работает для всплывающего окна графика. - person PatrickT; 16.10.2017

Просто чтобы добавить к ответу @rcs:

# Change spacing between facets on both axis
p + theme(panel.spacing = unit(2, "lines"))

# Change horizontal spacing between facets
p + theme(panel.spacing.x = unit(2, "lines"))

# Change vertical spacing between facets
p + theme(panel.spacing.y = unit(2, "lines"))
person Gorka    schedule 07.01.2021