R语言环境
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语言学习/")#加载packageslibrary(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/
其他网站学习 http://f.dataguru.cn/thread-252694-1-1.html