绘制带省份的中国地图
R版本: Rx64 4.0.5 windows10
准备工作:
下载三个中国行政区地图数据信息文件: bou2_4p.dbf,bou2_4p.shp和bou2_4p.shx;解压后三个文件放到相同目录下,以及各省份的经纬度csv文件。
代码1:
install.packages("rgdal")
install.packages("maptools")
install.packages("sp")
library(maptools)
library(sp)
library(rgdal)
data <- read.csv("D:\\R demo\\map\\pcity.csv",header=TRUE,sep=",")
border <-rgdal::readOGR("D:\\R demo\\map\\bou2_4p.shp")
plot(border,col=c("#4BBCF4","#61C0BF","#8BCBC8","#BBDED6","#DAE9E4"),
ylim = c(18, 54), panel.first = grid());
points(data$jd, data$wd, pch = 17, 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))
axis(1, lwd = 0); axis(2, lwd = 0); axis(3, lwd = 0); axis(4, lwd = 0)
title(main="中国地图")
运行结果:
代码2:
library(sp)
library(maptools)
#读取省会城市经纬度数据
data <- read.csv("D://R demo//map//pcity.csv",header=TRUE,sep=",")
#读取各省的边界数据等
border <- rgdal::readOGR("D://R demo//map//bou2_4p.shp")
#画地图
plot(border,col=rainbow(900),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)