R установка расстояния между графиками в мультиплоте - PullRequest
10 голосов
/ 26 октября 2011

После предыдущего сообщения R Указав ширину панели ggplot2 , я смог создать этот график:

enter image description here

с этим кодом.

Вы можете найти вывод dput (datos) в http://ubuntuone.com/0Nlb97mOeDhSbFrbFKCeEG

Теперь мой вопрос заключается в том, как я могу удалить / уменьшить пустое пространство между графиками.Я нашел примеры с пакетом ggExtra, ggplot и facet, мультиплотами с параметрами, такими как plot.margin или panel.margin, но не смог найти способ применения к моему делу.

Спасибо за вашу помощь.1018 * РЕДАКТИРОВАТЬ: Я только что заметил, что графики имеют не одинаковую ширину.Нужно, чтобы они имели одинаковую ширину, чтобы они могли использовать метки оси x на нижнем графике.

Ответы [ 2 ]

7 голосов
/ 26 октября 2011

Использование xlab(NULL) вместо xlab(" ") удалит некоторое пространство внизу каждого графика.

Использование opts(plot.margin = unit(c(0,0,0,0), "cm")) удалит небольшое пространство с краев.


Я думаю, что вы слишком усложнили вещи, создав 5 отдельных графиков и перекомпоновав их.Грани намного проще.

mdatos <- melt(datos[, -1], id.vars = "dia")
(p_all <- ggplot(mdatos, aes(dia, value)) +
  geom_line(colour = "blue") +
  facet_grid(variable ~ ., scale = "free_y") +
  xlab("Day") +
  ylab(NULL) 
)

Панели графиков имеют разную ширину, потому что некоторые метки оси Y имеют трехзначные числа, а некоторые только две.Либо измените форматирование оси y, либо воспользуйтесь предложением моей фасетки.

2 голосов
/ 26 октября 2011

Вы можете расположить и контролировать поля нескольких участков с помощью par и layout.Например:

  par (fig=c(0,1,0,1), # Figure region in the device display region (x1,x2,y1,y2)
       omi=c(0,0,0.3,0), # global margins in inches (bottom, left, top, right)
       mai=c(0.1,0.1,0.3,0.1)) # subplot margins in inches (bottom, left, top, right)
  layout(matrix(1:4, 2, 2, byrow = TRUE))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...