plotly.R
plotly.R copied to clipboard
geom_flow() has yet to be implemented in plotly
I've added a reproducible example here. The plot will work under normal ggplot conditions but not if you send it to ggplotly
library(ggplot2)
library(ggalluvial)
library(tidyverse)
data(vaccinations)
levels(vaccinations$response) <- rev(levels(vaccinations$response))
vaccinations <- vaccinations %>%
group_by(survey) %>%
mutate(pct = freq / sum(freq)) %>%
ungroup() %>%
mutate(
test_color = case_when(
subject %in% {vaccinations %>%
filter(
survey == "ms460_NSA" & response %in% "Never"
) %>%
distinct(subject) %>%
pull()} ~ "Yes",
TRUE ~ "No"
)
)
g <- ggplot(vaccinations,
aes(x = survey, stratum = response, alluvium = subject,
y = pct,
fill = test_color,
label = response)) +
scale_x_discrete(expand = c(.1, .1)) +
scale_y_continuous(label = scales::percent_format()) +
scale_fill_manual(values = c("Yes" = "cadetblue1", "No" = "grey50")) +
geom_flow() +
geom_stratum(alpha = .5) +
geom_text(aes(label = paste0(..stratum.., "\n", scales::percent(..count.., accuracy = .1))), stat = "stratum", size = 3) +
theme(legend.position = "none") +
ggtitle("vaccination survey responses at three points in time")
g
g %>% ggplotly()
I also experienced the same issue as @jonathanlee1993. I noticed that the strata are represented, but the flow between the strata is not visually represented when run as a ggplotly() object.