Aliases: stat_binline StatBinline
Keywords: datasets
### ** Examples 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)
Error in library(ggplot2movies): there is no package called '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")
Error in ggplot(movies[movies$year > 1989, ], aes(x = length, y = year, : object 'movies' not found
theme_ridges() + theme(legend.position = "none")
List of 93 $ line :List of 6 ..$ colour : chr "black" ..$ size : num 0.636 ..$ linetype : num 1 ..$ lineend : chr "butt" ..$ arrow : logi FALSE ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_line" "element" $ rect :List of 5 ..$ fill : chr "transparent" ..$ colour : logi NA ..$ size : num 0 ..$ linetype : num 0 ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_rect" "element" $ text :List of 11 ..$ family : chr "" ..$ face : chr "plain" ..$ colour : chr "black" ..$ size : num 14 ..$ hjust : num 0.5 ..$ vjust : num 0.5 ..$ angle : num 0 ..$ lineheight : num 0.9 ..$ margin : 'margin' num [1:4] 0points 0points 0points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : logi FALSE ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ title : NULL $ aspect.ratio : NULL $ axis.title : NULL $ axis.title.x :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : num 1 ..$ vjust : NULL ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 6points 0points 3points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.title.x.top :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : NULL ..$ vjust : num 0 ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 0points 0points 3.5points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.title.x.bottom : NULL $ axis.title.y :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : num 1 ..$ vjust : NULL ..$ angle : num 90 ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 0points 6points 0points 3points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.title.y.left : NULL $ axis.title.y.right :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : NULL ..$ vjust : num 0 ..$ angle : num -90 ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 0points 0points 0points 3.5points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.text :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : chr "black" ..$ size : num 12 ..$ hjust : NULL ..$ vjust : NULL ..$ angle : NULL ..$ lineheight : NULL ..$ margin : NULL ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.text.x :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : NULL ..$ vjust : num 1 ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 3points 0points 0points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.text.x.top :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : NULL ..$ vjust : num 0 ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 0points 0points 2.8points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.text.x.bottom : NULL $ axis.text.y :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : num 1 ..$ vjust : num 0 ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 0points 3points 0points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.text.y.left : NULL $ axis.text.y.right :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : num 0 ..$ vjust : NULL ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 0points 0points 0points 2.8points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ axis.ticks :List of 6 ..$ colour : chr "grey90" ..$ size : num 0.5 ..$ linetype : NULL ..$ lineend : NULL ..$ arrow : logi FALSE ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_line" "element" $ axis.ticks.x : NULL $ axis.ticks.x.top : NULL $ axis.ticks.x.bottom : NULL $ axis.ticks.y :List of 6 ..$ colour : chr "grey90" ..$ size : num 0.5 ..$ linetype : NULL ..$ lineend : NULL ..$ arrow : logi FALSE ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_line" "element" $ axis.ticks.y.left : NULL $ axis.ticks.y.right : NULL $ axis.ticks.length : 'simpleUnit' num 3.5points ..- attr(*, "unit")= int 8 $ axis.ticks.length.x : NULL $ axis.ticks.length.x.top : NULL $ axis.ticks.length.x.bottom: NULL $ axis.ticks.length.y : NULL $ axis.ticks.length.y.left : NULL $ axis.ticks.length.y.right : NULL $ axis.line : list() ..- attr(*, "class")= chr [1:2] "element_blank" "element" $ axis.line.x : NULL $ axis.line.x.top : NULL $ axis.line.x.bottom : NULL $ axis.line.y : NULL $ axis.line.y.left : NULL $ axis.line.y.right : NULL $ legend.background :List of 5 ..$ fill : NULL ..$ colour : logi NA ..$ size : NULL ..$ linetype : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_rect" "element" $ legend.margin : 'margin' num [1:4] 7points 7points 7points 7points ..- attr(*, "unit")= int 8 $ legend.spacing : 'simpleUnit' num 14points ..- attr(*, "unit")= int 8 $ legend.spacing.x : NULL $ legend.spacing.y : NULL $ legend.key : list() ..- attr(*, "class")= chr [1:2] "element_blank" "element" $ legend.key.size : 'simpleUnit' num 1lines ..- attr(*, "unit")= int 3 $ legend.key.height : NULL $ legend.key.width : NULL $ legend.text :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : 'rel' num 0.857 ..$ hjust : NULL ..$ vjust : NULL ..$ angle : NULL ..$ lineheight : NULL ..$ margin : NULL ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ legend.text.align : NULL $ legend.title :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : num 0 ..$ vjust : NULL ..$ angle : NULL ..$ lineheight : NULL ..$ margin : NULL ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ legend.title.align : NULL $ legend.position : chr "none" $ legend.direction : NULL $ legend.justification : chr [1:2] "left" "center" $ legend.box : NULL $ legend.box.just : NULL $ legend.box.margin : 'margin' num [1:4] 0cm 0cm 0cm 0cm ..- attr(*, "unit")= int 1 $ legend.box.background : list() ..- attr(*, "class")= chr [1:2] "element_blank" "element" $ legend.box.spacing : 'simpleUnit' num 14points ..- attr(*, "unit")= int 8 $ panel.background : list() ..- attr(*, "class")= chr [1:2] "element_blank" "element" $ panel.border : list() ..- attr(*, "class")= chr [1:2] "element_blank" "element" $ panel.spacing : 'simpleUnit' num 7points ..- attr(*, "unit")= int 8 $ panel.spacing.x : NULL $ panel.spacing.y : NULL $ panel.grid :List of 6 ..$ colour : chr "white" ..$ size : NULL ..$ linetype : NULL ..$ lineend : NULL ..$ arrow : logi FALSE ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_line" "element" $ panel.grid.major :List of 6 ..$ colour : chr "grey90" ..$ size : num 0.5 ..$ linetype : NULL ..$ lineend : NULL ..$ arrow : logi FALSE ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_line" "element" $ panel.grid.minor : list() ..- attr(*, "class")= chr [1:2] "element_blank" "element" $ panel.grid.major.x : NULL $ panel.grid.major.y : NULL $ panel.grid.minor.x : NULL $ panel.grid.minor.y : NULL $ panel.ontop : logi FALSE $ plot.background : list() ..- attr(*, "class")= chr [1:2] "element_blank" "element" $ plot.title :List of 11 ..$ family : NULL ..$ face : chr "bold" ..$ colour : NULL ..$ size : num 14 ..$ hjust : num 0 ..$ vjust : NULL ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 0points 0points 7points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ plot.title.position : chr "panel" $ plot.subtitle :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : 'rel' num 0.857 ..$ hjust : num 0 ..$ vjust : num 1 ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 0points 0points 6points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ plot.caption :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : 'rel' num 0.857 ..$ hjust : num 1 ..$ vjust : num 1 ..$ angle : NULL ..$ lineheight : NULL ..$ margin : 'margin' num [1:4] 6points 0points 0points 0points .. ..- attr(*, "unit")= int 8 ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ plot.caption.position : chr "panel" $ plot.tag :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : 'rel' num 1.2 ..$ hjust : num 0.5 ..$ vjust : num 0.5 ..$ angle : NULL ..$ lineheight : NULL ..$ margin : NULL ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ plot.tag.position : chr "topleft" $ plot.margin : 'margin' num [1:4] 7points 14points 7points 7points ..- attr(*, "unit")= int 8 $ strip.background :List of 5 ..$ fill : chr "grey80" ..$ colour : chr "grey50" ..$ size : num 0 ..$ linetype : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_rect" "element" $ strip.background.x : NULL $ strip.background.y : NULL $ strip.placement : chr "inside" $ strip.text :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : 'rel' num 0.857 ..$ hjust : NULL ..$ vjust : NULL ..$ angle : NULL ..$ lineheight : NULL ..$ margin : NULL ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ strip.text.x : NULL $ strip.text.y :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : NULL ..$ vjust : NULL ..$ angle : num -90 ..$ lineheight : NULL ..$ margin : NULL ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" $ strip.switch.pad.grid : 'simpleUnit' num 3.5points ..- attr(*, "unit")= int 8 $ strip.switch.pad.wrap : 'simpleUnit' num 3.5points ..- attr(*, "unit")= int 8 $ strip.text.y.left :List of 11 ..$ family : NULL ..$ face : NULL ..$ colour : NULL ..$ size : NULL ..$ hjust : NULL ..$ vjust : NULL ..$ angle : num 90 ..$ lineheight : NULL ..$ margin : NULL ..$ debug : NULL ..$ inherit.blank: logi TRUE ..- attr(*, "class")= chr [1:2] "element_text" "element" - attr(*, "class")= chr [1:2] "theme" "gg" - attr(*, "complete")= logi TRUE - attr(*, "validate")= logi TRUE
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)