When plotting simple geographical data (lon,lat) in R, a background map may be useful. Some R-integrated examples are described here with different levels of detail in maps, scaling, and axis decorations. Besides 'ggplot2' and 'rworldmap', several libraries might be required from CRAN, such as 'maps' and 'mapproj'.
Low-resolution world map
library(ggplot2) worlddata <- map_data("world") # possible to choose regions see ?world worldmap <- ggplot(worlddata, aes(x=long, y=lat, group=group)) + geom_polygon() + scale_y_continuous(breaks=(-2:2) * 30) + scale_x_continuous(breaks=(-4:4) * 45) # Orthographic projection with default orientation (looking down at North pole) worldmap + coord_map("ortho") # Centered on North Sea region worldmap + coord_map("ortho", orientation=c(55, 10, 0)) xxlim <- c(-7,12) ## selected range North Sea yylim <- c(48,62) worldmap + coord_cartesian(xlim = xxlim, ylim = yylim) worldmap + coord_cartesian(xlim = xxlim, ylim = yylim) + theme(axis.text = element_blank(), axis.title = element_blank(), axis.line = element_blank(), axis.ticks = element_blank())
Higher resolution maps using package rworldmap and rworldxtra
More info at http://journal.r-project.org/archive/2011-1/RJournal_2011-1_South.pdf
library(rworldmap) library(ggplot2) data(countriesLow) # library(rworldxtra) # for a higher resolution map in combination with next line # data(countriesHigh) world <- fortify(countriesLow) # world <- fortify(countriesHigh) # for higher resolution map ## this converts any spatialobjectdataframe to a dataframe to be plotted in ggplot map <- ggplot() + geom_polygon(data = world, aes(x=long, y=lat, group=group), color = "lightgrey", fill = "darkgrey") xxlim <- c(-7,12) ## selected range North Sea yylim <- c(48,62) map + coord_cartesian(xlim = xxlim, ylim = yylim) map + coord_map("ortho", xlim = xxlim, ylim = yylim, orientation=c(55, 10, 0)) map + coord_map("stereographic", xlim = xxlim, ylim = yylim, orientation=c(55, 10, 0)) + theme(axis.text = element_blank(), axis.title = element_blank(), axis.line = element_blank(), axis.ticks = element_blank())