A clumsy attempt at reproduction:
library(maps)
library(sf)
library(ggplot2)
world1 <- sf::st_as_sf(map('world', plot = FALSE, fill = TRUE)) |>
st_transform(crs = 4326)
ggplot() +
geom_sf(data = world1) +
scale_y_continuous(breaks = seq(20, 90, by = 10), labels = NULL) +
scale_x_continuous(breaks = seq(-120, 180, by = 60), labels = NULL) +
labs(x = NULL, y = NULL) +
theme(
panel.background = element_blank(),
panel.grid.major = element_line(
linewidth = 0.25,
linetype = 'dashed',
colour = "black"
),
axis.ticks = element_blank(),
axis.text = element_blank()
) +
labs(caption = "Designed by Mikey Harper") +
annotate(geom = 'text', x = I(0.5), y = I(0), label = '0°', vjust = 1) +
annotate(geom = 'text', x = I(0.97), y = I(0.77), label = "120°E") +
annotate(geom = 'text', x = I(0.97), y = I(0.25), label = "60°E") +
annotate(geom = 'text', x = I(0.02), y = I(0.77), label = "120°W") +
annotate(geom = 'text', x = I(0.02), y = I(0.25), label = "60°W") +
annotate(geom = 'text', x = I(0.5), y = I(1), label = "180°W", vjust = 0.4) +
annotate(geom = 'text', x = I(0.5), y = I(0.6), label = "80°N", vjust = 0) +
annotate(geom = 'text', x = I(0.5), y = I(0.76), label = "60°N", vjust = 0) +
annotate(geom = 'text', x = I(0.5), y = I(0.9), label = "40°N", vjust = 0) +
coord_sf(
crs = "+proj= ortho +lat_0=90 +lon_0=0",
expand = FALSE,
clip = FALSE
)