What I want to do
Using country-level data from the Natural Earth shapefile dataset, I would like to plot countries next to one another to demonstrate their size difference. For example, I'd love to plot Cameroon and Ethiopia next to the Democratic Republic of Congo to impress upon my students the variation in size of countries in Africa.
What I've tried
Using R, here is what I've tried:
Using sf::st_read I've imported the shapefiles as countries.
library(sf) # Easily work with spatial objects
library(tidyverse) # Brings in GGPlot
library(gridExtra) # Allows you to easily plot multiple GGPlots
gridExtra::grid.arrange(
ggplot(data = subset(countries, SOVEREIGNT %in% "Cameroon")) + geom_sf(),
ggplot(data = subset(countries, SOVEREIGNT %in% "Ethiopia")) + geom_sf(),
ggplot(data = subset(countries, SOVEREIGNT %in% "Democratic Republic of the Congo")) + geom_sf(),
ncol = 3)
Results
The result is three maps that are mismatched in scale. Despite being the largest of the countries, the DRC looks smaller than Cameroon, the smallest of the countries.
Are there any elegant ways to do this comparison?


