PBSMapping应该适合您的需求。NCEAS上有一个教程。下面的代码改编自该教程。我正在假设您的数据顺便说一句。请根据您的情况进行适当的编辑。
library(PBSmapping)
#prepare towns
pts <- read.csv("towns.csv")
towns <- points(towns$lon, towns$lat)
# read in shapefiles
rivers <- importShapefile("rivers.shp")
boundaries <- importShapefile("boundaries.shp")
# note that importShapefile reads the .prj file if it exists, but it
# does not adopt the proj4 format used by the above approaches
proj.abbr <- attr(boundaries, "projection") # abbreviated projection info
proj.full <- attr(boundaries, "prj") # full projection info
print(proj.abbr)
# [1] "LL"
# generate map using PBSmapping plotting functions
plotPolys(boundaries, projection=proj.abbr, border="gray",
xlab="Longitude", ylab="Latitude")
addPoints(towns, pch=20, cex=0.8)
addLines(rivers, col="blue", lwd=2.0)