Wrangling geom_bar
Whereas geom_col()
expects you to pass it a y-axis mapping column, geom_bar()
doesn't take a y-axis call (at least by default).
Instead, geom_bar()
takes your x-axis mapping and counts every single observation (or row of the passed data frame) for each class and then draws bars of corresponding heights
These two code chunks will give you the same plot:
# geom_col()
data %>%
groupby(xAxisCol) %>%
summarize(value = n()) %>%
ggplot(aes(x = xAxisCol, y = value) +
geom_col()
# geom_bar()
data %>%
ggplot(aes(x = xAxisCol)) +
geom_bar()
Let's use geom_bar()
to make a look at observations with a large number of cases by region our WHO data.
This exercise is part of the course
Visualization Best Practices in R
Exercise instructions
filter()
thewho_disease
data into only observations (rows) with greater than1000
cases.- Map the x-axis to the
region
column. - Add
geom_bar()
to the plot object to draw the bars.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
who_disease %>%
# filter data to observations of greater than 1,000 cases
___ %>%
# map the x-axis to the region column
ggplot() +
# add a geom_bar call
___