As shown in the examples below, bin controls how finely subdivided the data are plotted. Position controls side-by-side vs. stacked. See `help(geom_historgram)'. A great guide to using ggplot is The R Graphics Cookbook by Winston Chang. It's well worth buying a physical copy.
suppressPackageStartupMessages({
library(dplyr)
library(ggplot2)
library(qrmix) # for blood pressure data
})
blood.pressure %>%
ggplot(., aes(x = systolic , fill= gender)) +
geom_histogram(bins = 15, position = "dodge") +
theme_minimal()

blood.pressure %>%
ggplot(., aes(x = systolic , fill= gender)) +
geom_histogram(bins = 15, position = "stack") +
theme_minimal()

blood.pressure %>%
ggplot(., aes(x = systolic , fill= gender)) +
geom_histogram(bins = 15, position = "dodge") +
theme_minimal()

blood.pressure %>%
ggplot(., aes(x = systolic , fill= gender)) +
geom_histogram(bins = 7, position = "dodge") +
theme_minimal()

blood.pressure %>%
ggplot(., aes(x = systolic , fill= gender)) +
geom_histogram(bins = 30, position = "dodge") +
theme_minimal()

blood.pressure %>%
ggplot(., aes(x = systolic , fill= gender, color = race)) +
geom_histogram(bins = 15, position = "dodge") +
theme_minimal()

Created on 2020-12-31 by the reprex package (v0.3.0.9001)