Minimalist maps, just reproducing a blogpost on freakometrics.
library(data.table)
library(maps)
library(maptools)
# get data
data("world.cities")
df = setDT(world.cities)
airports = readShapePoints("ne_10m_airports.shp")
roads = readShapeLines("ne_10m_roads.shp")
railroads = readShapeLines("ne_10m_railroads.shp")
ports = readShapePoints("ne_10m_ports.shp")
# all cities
with(df, plot(long, lat, cex = 0.3, col = "royalblue")); grid()
title("Cities")
# all cities with pop > 100 K
with(df[pop > 100e3], plot(long, lat, cex = 0.3, col = "royalblue")); grid()
title("Cities > 100,000 inhabitants")
source data: http://www.naturalearthdata.com/downloads/10m-cultural-vectors/
plot(airports, cex = 0.3, pch = 1, col = "royalblue", axes = T); grid()
title("Airports")
plot(ports, cex = 0.3, pch = 1, col = "royalblue", axes = T); grid()
title("Ports")
plot(roads, cex = 0.3, col = "royalblue", axes = T, lwd = 0.3); grid()
title("Roads")
plot(railroads, cex = 0.3, col = "royalblue", axes = T, lwd = 0.3); grid()
title("Railroads")