data("san_andreas")

Original

Replication

ggplot(data = san_andreas) +
  geom_bar(aes(x = worry_bigone), width = 0.4, fill = "red")+
  coord_flip()+
  theme(axis.text.x = element_blank(),
        axis.title.x = element_blank(),
        axis.ticks.x = element_blank(),
        axis.title.y = element_blank(),
        axis.ticks.y = element_blank(),
        panel.grid = element_blank(),
        panel.background = element_blank(),
        axis.text.y = element_text(color = "black"),
        plot.background = element_rect(fill = "#eae9e8"),
        plot.title = element_text(face = "bold", hjust = -1.5, size = 18),
        plot.subtitle = element_text(hjust = -.20, size = 10),
        )+
  geom_text(stat = "count", aes(x = worry_bigone, label = round(..count../1013*100, 0)), 
            hjust = -0.2, size = 4, color = "black")+
  labs(
    title = "How Worried Are You About 'The Big One'?",
    subtitle = "\n NO. RESPONDENTS \n\n      1,013"
    )

Improvement

plot_bigone = ggplot(data = san_andreas) +
  geom_bar(aes(x = worry_bigone, fill = worry_bigone), width = 1, color = "white")+
  coord_flip()+
  theme(axis.text.x = element_text(color = "black"),
        axis.title.y = element_blank(),
        axis.text.y = element_text(color = "black"),
        panel.background = element_blank(),
        panel.grid.major.y = element_blank(),
        plot.background = element_rect(fill = "#eae9e8"),
        plot.title = element_text(face = "bold", hjust = 0, size = 10),
        plot.subtitle = element_text(face = "bold", hjust = .9, vjust = -12, size = 8),
        legend.position = "none"
        )+
  scale_fill_brewer(palette = "Dark2")+
  geom_text(stat = "count", aes(x = worry_bigone, label = ..count..), 
            hjust = -0.2, size = 3, color = "black", fontface = "bold.italic")+
  labs(
    title = "How Worried Are You About 'The Big One'?",
    subtitle = "TOTAL NO. RESPONDENTS: 1,013",
    y = "Number of Respondents"
    )

plot_general = ggplot(data = san_andreas) +
  geom_bar(aes(x = worry_general, fill = worry_general), width = 1, color = "white") +
  coord_flip() +
  theme(axis.text.x = element_text(color = "black"),
        axis.title.y = element_blank(),
        axis.text.y = element_text(color = "black"),
        panel.background = element_blank(),
        panel.grid.major.y = element_blank(),
        plot.background = element_rect(fill = "#eae9e8"),
        plot.title = element_text(face = "bold", hjust = 0, size = 10),
        plot.subtitle = element_text(face = "bold", hjust = .9, vjust = -12, size = 8),
        legend.position = "none") +
  scale_fill_brewer(palette = "Dark2") +
  geom_text(stat = "count", aes(x = worry_general, label = ..count..), 
            hjust = -0.2, size = 3, color = "black", fontface = "bold.italic") +
  labs(
    title = "How Worried Are You About Earthquakes in General?",
    subtitle = "TOTAL NO. RESPONDENTS: 1,013",
    y = "Number of Respondents"
  )

plot_bigone/plot_general

Summary

The original graph, which uses a horizontal bar chart to display the number of respondents concerned about “The Big One”, referring to an earthquake with a magnitude of 8.0 or larger. The bar chart effectively shows the different levels of worry by categorizing respondents concerns. It’s pretty simple and straightforward as it just uses the color red as the fill for each bar. The graph also includes the total number of respondents and percentages at the end of each bar, which is useful but could be further enhanced for clarity.

I made several changes to the original graph and this is why. I changed the fill color to use a color palette where each bar has a unique color, improving the ability to distinguish between the different categories. I also decided to display the count numbers instead of percentages at the end of each bar since the graph already includes the total number of respondents, making the counts more relevant and easier to interpret. I added an x-axis with grid lines to provide a clearer sense of the relative differences between the bars and to give more context on where each bar lands. A key improvement was the addition of a second, similar to “The Big One” graph but based on a different variable “worry_general”, which shows concern about earthquakes in general. This separate graph was arranged below the first, allowing a side-by-side comparison of responses. I believe this approach is important because it allows us to tell a story. “The Big One” has a lower probability of occurring than general earthquakes, which may influence people’s level of worry. The difference in response counts between the two graphs visually demonstrates this distinction, offering valuable insight into the varying levels of concern.