Как выровнять два участка разной ширины, чтобы:
- их оси x синхронизированы
- верхний ряд также содержит общую легенду
Я в основном хочу, чтобы каждый интервал по оси x соответствовал одинаковому количеству сантиметров на двух графиках. Я пробовал это:
library(cowplot)
library(tidyverse)
wide_plot = iris %>%
ggplot(aes(x = Sepal.Length, Sepal.Width, color = Species)) +
geom_point() +
theme(legend.position = "none") +
scale_x_continuous(limits = c(0,8))
narrow_plot = iris %>%
ggplot(aes(x = Sepal.Width, Sepal.Length, color = Species)) +
geom_point() +
theme(legend.position = "none") +
scale_x_continuous(limits = c(0,5) )
legend = cowplot::get_legend(ggplot(iris,aes(x = Sepal.Length, Sepal.Width, color = Species)) + geom_point() )
plot_grid(plot_grid(narrow_plot, legend), wide_plot, nrow = 2 )
Что производит этот сюжет:
Но проблема с вышеизложенным состоит в том, что значения оси x на верхнем нижнем графике не синхронизированы.
Я попытался повозиться с параметром rel_widths в cowplot :: plot_grid, но надеюсь на более точное решение.