Reputation: 355
In a plot like this How is it possible to put the labels of flow down from the plot
And mabel the black option more fat and put the labels of these bars now in the middle of the black column next to it
library(ggalluvial)
library(ggplot2)
library(dplyr)
df <- data.frame(status = c("open", "close", "close", "open/close", "close"),
stock = c("google", "amazon", "amazon", "yahoo", "amazon"),
newspaper = c("times", "newyork", "london", "times", "times"))
# Count the number of occurrences for each alluvial
df <- df %>% dplyr::group_by(stock, newspaper, status) %>%
summarise(n = n())
# Define the factors
df$status <- factor(df$status, levels = c("open", "open/close", "close"))
df$stock <- factor(df$stock, levels = c("google", "amazon", "yahoo"))
df$newspaper <- factor(df$newspaper, levels = c("times", "newyork", "london"))
# Plot the alluvial as in https://cran.r-project.org/web/packages/ggalluvial/vignettes/ggalluvial.html#alluvia-wide-format
ggplot2::ggplot(df.2, aes(y = n, axis1 = stock, axis2 = newspaper)) +
ggalluvial::geom_alluvium(aes(fill = status), width = 1/12) +
ggalluvial::geom_stratum(width = 1/12, fill = "black", color = "grey") +
ggplot2::geom_label(stat = "stratum", aes(label = after_stat(stratum))) +
ggplot2::scale_x_discrete(limits = c("stock", "newspaper"), expand = c(.05, .05)) +
ggplot2::scale_fill_brewer(type = "qual", palette = "Set1")
Upvotes: 0
Views: 36
Reputation: 173793
The description of what you want is pretty vague. As far as I can tell, you want the legend moved to the bottom of the plot, and the stratum bars made wider:
ggplot(df, aes(y = n, axis1 = stock, axis2 = newspaper)) +
geom_alluvium(aes(fill = status)) +
geom_stratum(width = 1/5, fill = "black", color = "grey") +
geom_label(stat = "stratum", aes(label = after_stat(stratum))) +
scale_x_discrete(limits = c("stock", "newspaper"), expand = c(.05, .05)) +
scale_fill_brewer(type = "qual", palette = "Set1") +
theme_void() +
theme(legend.position = 'bottom')
Upvotes: 1