Overlapping histograms

Graph info

Should I use this graph?


This graph requires:

✅ a categorical variable

✅ a numeric (continuous) variable

Description

Overlapping histograms allow us to compare distributions across the groups of a categorical (or ordinal) variable.

Getting set up

PACKAGES:

Install packages.

Code
install.packages("palmerpenguins")
library(palmerpenguins) 
library(ggplot2)

DATA:

Artwork by @allison_horst

The penguins data

Code
penguins <- palmerpenguins::penguins
glimpse(penguins)
Rows: 344
Columns: 8
$ species           <fct> Adelie, Adelie, Adelie, Adelie, Adelie, Adelie, Adel…
$ island            <fct> Torgersen, Torgersen, Torgersen, Torgersen, Torgerse…
$ bill_length_mm    <dbl> 39.1, 39.5, 40.3, NA, 36.7, 39.3, 38.9, 39.2, 34.1, …
$ bill_depth_mm     <dbl> 18.7, 17.4, 18.0, NA, 19.3, 20.6, 17.8, 19.6, 18.1, …
$ flipper_length_mm <int> 181, 186, 195, NA, 193, 190, 181, 195, 193, 190, 186…
$ body_mass_g       <int> 3750, 3800, 3250, NA, 3450, 3650, 3625, 4675, 3475, …
$ sex               <fct> male, female, female, NA, female, male, female, male…
$ year              <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007…

The grammar

CODE:

Create labels with labs()

Initialize the graph with ggplot() and provide data

Map flipper_length_mm to the x axis and species to fill

Set alpha to 2/3 inside geom_histogram()

Code
labs_ovrlp_hist <- labs(
  title = "Adult foraging penguins",
  x = "Flipper length (mm)", 
  fill = "Species")
ggp2_ovrlp_hist <- ggplot(data = penguins,
     aes(x = flipper_length_mm, 
         fill = species)) + 
     geom_histogram(alpha = 2/3) 
ggp2_ovrlp_hist + 
  labs_ovrlp_hist

Experiment with different binwidths when comparing distributions across groups.

GRAPH:

Histograms work by dividing the variable provided to x into bins and counting the number of observations in each bin.