Объединить ggplotly и ggplot с пэчворком?
Можно ли совместить ggplotly и ggplot с лоскутным одеялом?
пример
Это отображает два графика рядом.
library(ggplot2)
library(plotly)
library(patchwork)
a <- ggplot(data.frame(1), aes(X1)) + geom_bar()
b <- ggplot(data.frame(1), aes(X1)) + geom_bar()
a + b
Но если мы конвертируем один в ggplotly, он ошибается
b <- ggplotly(b)
a + b
Error: Can't add `b` to a ggplot object.
Run `rlang::last_error()` to see where the error occurred.
Есть ли способ обойти это?
2 ответа
Решение
Сюжет имеет subplot
функция для объединения нескольких графиков вместе:
library(ggplot2)
library(plotly)
df1 <-data.frame(x=1:10, y=1:10)
df2 <- data.frame(x=10:1, y=1:10)
p1<-ggplot(df1, aes(x, y)) +geom_point()
fig1<-ggplotly(p1)
p2<-ggplot(df2, aes(x, y)) +geom_line()
fig2<-ggplotly(p2)
subplot(fig1, fig2, nrows=2)
См. https://plotly.com/r/subplots/ для получения дополнительной информации и примеров.
Хотя это потенциально возможно, разработчик сказал, что это выходит за рамки текущего плана.