library(ggplot2)
ggplot(iris, aes(x = Sepal.Length, y = Species, group = Species, fill = Species)) +
geom_density_ridges(stat = "binline", bins = 20, scale = 2.2) +
scale_y_discrete(expand = c(0, 0)) +
scale_x_continuous(expand = c(0, 0)) +
coord_cartesian(clip = "off") +
theme_ridges()
ggplot(iris, aes(x = Sepal.Length, y = Species, group = Species, fill = Species)) +
stat_binline(bins = 20, scale = 2.2, draw_baseline = FALSE) +
scale_y_discrete(expand = c(0, 0)) +
scale_x_continuous(expand = c(0, 0)) +
scale_fill_grey() +
coord_cartesian(clip = "off") +
theme_ridges() +
theme(legend.position = 'none')
library(ggplot2movies)
ggplot(movies[movies$year>1989,], aes(x = length, y = year, fill = factor(year))) +
stat_binline(scale = 1.9, bins = 40) +
scale_x_continuous(limits = c(1, 180), expand = c(0, 0)) +
scale_y_reverse(expand = c(0, 0)) +
scale_fill_viridis_d(begin = 0.3, option = "B") +
coord_cartesian(clip = "off") +
labs(title = "Movie lengths 1990 - 2005") +
theme_ridges() +
theme(legend.position = "none")
count_data <- data.frame(
group = rep(letters[1:5], each = 10),
mean = rep(1:5, each = 10)
)
count_data$group <- factor(count_data$group, levels = letters[5:1])
count_data$count <- rpois(nrow(count_data), count_data$mean)
ggplot(count_data, aes(x = count, y = group, group = group)) +
geom_density_ridges2(
stat = "binline",
aes(fill = group),
binwidth = 1,
scale = 0.95
) +
geom_text(
stat = "bin",
aes(y = group + 0.9*stat(count/max(count)),
label = ifelse(stat(count) > 0, stat(count), "")),
vjust = 1.2, size = 3, color = "white", binwidth = 1
) +
scale_x_continuous(breaks = c(0:12), limits = c(-.5, 13), expand = c(0, 0)) +
scale_y_discrete(expand = c(0, 0)) +
scale_fill_cyclical(values = c("#0000B0", "#7070D0")) +
guides(y = "none") +
coord_cartesian(clip = "off") +
theme_ridges(grid = FALSE)
Run the code above in your browser using DataLab