starter code (libraries and data)

library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6      ✔ purrr   0.3.4 
## ✔ tibble  3.1.8      ✔ dplyr   1.0.10
## ✔ tidyr   1.2.1      ✔ stringr 1.4.1 
## ✔ readr   2.1.2      ✔ forcats 0.5.2 
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
adata = c(50,55,60,60,60,61,65,65,65,66,70,70,75,75,80,80,85,90,95,99)
bdata = c(50,65,65,60,60,70,70,70,75,75,75,80,80,80,80,80,80,80,85,85,85,90,90,95)
dfa = tibble(score=adata) %>% mutate(class="A")
dfb = tibble(score=bdata) %>% mutate(class="B")
df32 <- bind_rows(dfa,dfb) %>% mutate(class = factor(class, levels=c("A","B")))
df <- df32

plot A

ggplot(dfa, aes(score)) +

  geom_histogram(binwidth = 5, color = "#555555", fill = "#bebebe") +
  xlab('') +
  ylab('Frequency') +
  ggtitle("A") +
  scale_y_continuous(limits=c(0,7),breaks=seq(0, 7, 1)) +
  scale_x_continuous(expand = c(0, 0)) +
  theme(axis.text.x = element_blank(), 
        axis.ticks.x = element_blank(),
        panel.border = element_blank(),
        panel.grid.major.x = element_blank(),
        panel.grid.major.y = element_line(color="black"),
        panel.grid.minor = element_blank(),
        plot.title = element_text(hjust = 0.5)
  )

plot B

ggplot(dfb, aes(x = score)) +
  geom_histogram(binwidth = 5, color = "#555555", fill = "#bebebe", ) +
  ylab("Frequency") +
  xlab("") +
  ggtitle("B") +
  coord_cartesian(xlim=c(50,100)) +
  theme(
    plot.title = element_text(hjust = 0.5)
  )