使用R语言绘制中国地图

简介:

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语言学习/")

#加载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/

目录
相关文章
|
7月前
|
数据可视化 定位技术
R语言空间可视化:绘制英国脱欧投票地图
R语言空间可视化:绘制英国脱欧投票地图
|
7月前
|
数据可视化 定位技术
r语言空间可视化绘制道路交通安全事故地图
r语言空间可视化绘制道路交通安全事故地图
|
7月前
|
数据可视化 定位技术 网络架构
R语言在地图上绘制月亮图、饼状图数据可视化果蝇基因种群
R语言在地图上绘制月亮图、饼状图数据可视化果蝇基因种群
|
7月前
|
JavaScript 前端开发 定位技术
用R语言制作交互式图表和地图
用R语言制作交互式图表和地图
|
7月前
|
数据可视化 定位技术
R语言ggmap空间可视化机动车交通事故地图
R语言ggmap空间可视化机动车交通事故地图
|
7月前
|
数据可视化 Serverless 定位技术
R语言ggmap空间可视化机动车碰撞–街道地图热力图
R语言ggmap空间可视化机动车碰撞–街道地图热力图
|
JSON 定位技术 API
R 语言绘制十段线地图,给特定省份填色
R 语言绘制十段线地图,给特定省份填色
467 0
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
57 3
|
7月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化