Есть ли способ наложения двух панелей ggplot без перемасштабирования любой из осей y? - PullRequest
0 голосов
/ 16 мая 2019

Я хочу наложить два набора панелей ggplot (каждая панель - это отдельная страна) на одну, одну панель ggplot без какого-либо масштабирования любого из двух графиков, но ggplot изменяет масштаб одного или другого.

Я попытался использовать только один ggplot для включения обеих переменных, выполнив ggplot (df, aes (x = t, y = a)), а затем в этом ggplot, используя geom_point и geom_smooth для второй переменной (y = b), но это изменяет масштаб переменной a.

# plot 1
g <-ggplot(df, aes(x=year, y=a))
p <-g + geom_point(alpha=0.7) + geom_smooth(method="auto") + facet_wrap(~country, scales="free") + theme_bw() +
  xlab("Year") + ylab(bquote('a')) +
  scale_x_continuous(breaks=seq(1960, 2020, 15))

# plot 2
a <-ggplot(df, aes(x=year, y=b))
b <-a + geom_point(alpha=0.7, color="green") + geom_smooth(method="auto", color="darkgreen") +
  facet_wrap(~country, scales="free") + theme_bw() +
  xlab("Year") + ylab(bquote('b')) +
  scale_x_continuous(breaks=seq(1960, 2020, 15))

Я ожидаю, что смогу наложить эти два ggplots на один набор панелей, причем обе оси y будут отображаться точно так же, как они появляются, когда они отображаются отдельно (включая единицы измерения). Затем мне нужно было бы как-то заставить одну из осей y появляться справа от панелей, поэтому у меня есть две оси y, по одной с каждой стороны.

Изображение 1. ggplot изменяет масштаб левой оси Y. Я не хочу, чтобы это произошло.

Изображение 2. Вместо этого я хочу как-то объединить каждое из этих изображений, чтобы получить по одной панели для каждой страны, отображая как зеленые, так и синие линии с масштабами, которые отображаются здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...