R3.1.1 Windows8.1
需要安装的packages: maptools,gp
中国地图的GIS数据(可以此下面的网址下载)
http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip
是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf、bou2_4p.shp和bou2_4p.shx)
中国各省会城市的经纬度数据
城市,Jd,Wd 北 京,116.4666667,39.9 上 海,121.4833333,31.23333333 天 津,117.1833333,39.15 重 庆,106.5333333,29.53333333 哈尔滨,126.6833333,45.75 长 春,125.3166667,43.86666667 沈 阳,123.4,41.83333333 呼和浩特,111.8,40.81666667 石家庄,114.4666667,38.03333333 太 原,112.5666667,37.86666667 济 南,117,36.63333333 郑 州,113.7,34.8 西 安,108.9,34.26666667 兰 州,103.8166667,36.05 银 川,106.2666667,38.33333333 西 宁,101.75,36.63333333 乌鲁木齐,87.6,43.8 合 肥,117.3,31.85 南 京,118.8333333,32.03333333 杭 州,120.15,30.23333333 长 沙,113,28.18333333 南 昌,115.8666667,28.68333333 武 汉,114.35,30.61666667 成 都,104.0833333,30.65 贵 阳,106.7,26.58333333 福 州,119.3,26.08333333 台 北,121.5166667,25.05 广 州,113.25,23.13333333 海 口,110.3333333,20.03333333 南 宁,108.3333333,22.8 昆 明,102.6833333,25 拉 萨,91.16666667,29.66666667 香 港,114.1666667,22.3 澳门,113.5,22.2
#设置当前工作目录 setwd("E:/R语言学习/") #加载packages library(sp) library(maptools) #读取省会城市经纬度数据 data <- read.csv("citylonlat.csv",header=TRUE,sep=",") #读取各省的边界数据等 border <- readShapePoly("package/china-province-border-data/bou2_4p.shp") #设置输出文件 #jpeg("chinamap.jpeg") #画地图 plot(border,col=rainbow(925),ylim = c(18, 54), panel.first = grid()); #增加省会城市坐标点 points(data$Jd, data$Wd, pch = 19, col = rgb(0, 0, 0, 0.5)) #增加标注 text(data$Jd, data$Wd, data[,1], cex = 0.6, col = rgb(0, 0, 0, 0.7), pos = c(2, 4, 4, 4, 3, 4, 2, 3, 4, 2, 4, 2, 2, 4, 3, 2, 1, 3, 1, 1, 2, 3, 2, 2, 1, 2, 4, 3, 1, 2, 2, 4, 4, 2)) #增加标签的另一种方式 #pointLabel(data$Jd, data$Wd, data[,1], offset = 0, cex = .6) #设置坐标轴 axis(1, lwd = 0); axis(2, lwd = 0); axis(3, lwd = 0); axis(4, lwd = 0) #输出结果到文件 #dev.off()
http://cos.name/2009/07/drawing-china-map-using-r/
http://yihui.name/cn/2008/10/china-map-and-city-locations-with-r/
http://yihui.name/cn/2008/10/avoid-label-overlap-pointlabel-in-maptools/
http://www.r-project.org/