R 绘制渐变中国地图及添加南海九段图
采用中国国家基础地理信息系统(GIS)数据模板进行绘制并添加九段图。
调用R进行作图,所用中国地图模板可从[百度网盘](链接: https://pan.baidu.com/s/1FR2zG74d0aoOhfizT_BwHw )提取码: nefs下载使用
library("maptools")
library(rgdal)
library(ggplot2)
library(sp)
#fork 九段线
l9<-rgdal::readOGR("F:/statistics root/r workspace/Rstudio/SouthSea/九段线.shp")
#data reading
china_map=readShapePoly("F:/statistics root/r workspace/Rstudio/china/bou2_4p.shp")ggplot(china_map,aes(x=long,y=lat,group=group)) +geom_polygon(fill="white",colour="grey") +coord_map("polyconic")
x <- china_map@data #读取行政信息xs <- data.frame(x,id=seq(0:924)-1) #含岛屿共925个形状china_map1 <- fortify(china_map) #转化为数据框library(plyr)china_map_data <- join(china_map1, xs, type = "full")#合并两个数据框mydata <- read.csv("F:/statistics root/r workspace/Rstudio/china/2036english2.csv")
china_data <- join(china_map_data, mydata, type="full")
china_data$ratio <- cut(china_data$ratio20361,breaks=c(1.20,1.25,1.30,1.35,1.40,1.45,1.50),labels=c('1.20~1.25','1.25~1.30','1.30~1.35','1.35~1.40','1.40~1.45','1.45~1.50'),right=FALSE,order=TRUE)
windowsFonts(myFont = windowsFont("Times New Roman"))
#rhg_cols1 <- c("#FEE0D2","#FCBBA1","#FC9272","#FB6A4A","#EF3B2C") #分等级并填充颜色
rhg_cols1 <- c("#fee0d2","#FCBBA1","#fc9272","#FB6A4A","#ef3b2c","#99000d")
province_city <- read.csv("F:/statistics root/r workspace/Rstudio/china/chinaprovincecity2.csv") #省会坐标p1 <- ggplot(china_data, aes(x = long, y = lat)) +geom_polygon(aes(group = group, fill = ratio),colour="grey30",size=0.05) +scale_fill_manual(values=rhg_cols1)+ guides(fill=guide_legend(title='Ratio of blood demand to supply'))+coord_map("polyconic") +geom_text(size=1.5,aes(x = jd,y = wd,label = province), hjust=0.5,vjust=0.5,data =province_city)+ #添加省会标签theme( #清除不必要的背景元素panel.grid = element_blank(),panel.background = element_blank(),axis.text = element_blank(),axis.ticks = element_blank(),axis.title = element_blank())
p1 #绘制小图
p2<-ggplot()+geom_polygon(data=china_data,aes(x=long,y=lat,group=group),color="grey40",fill="white")+ #绘制分省图geom_line(data=l9,aes(x=long,y=lat,group=group),color="red",size=0.5)+ #9段线coord_cartesian(xlim=c(105,125),ylim=c(3,30))+ #缩小显示范围在南部区域theme(aspect.ratio = 1.25, #调节长宽比axis.text = element_blank(),axis.ticks = element_blank(),axis.title = element_blank(),panel.grid = element_blank(),panel.background = element_blank(),panel.border = element_rect(fill=NA,color="grey20",linetype=1,size=0.8),plot.margin=unit(c(0,0,0,0),"mm"))#嵌合2个图
library(grid) #ggplot也是grid图
vie <- viewport(width=0.15,height=0.10,x=0.68,y=0.25) #定义小图的绘图区域
p1 #绘制大图
print(p2,vp=vie) #在p1上按上述格式增加小图
作图效果如下
参考
- 用ggplot2包绘制带南海诸岛的热力地图
- R 标准地图记(区分四川和重庆且有台湾和南海诸岛)
R 绘制渐变中国地图及添加南海九段图相关推荐
- python采用Basemap绘制完美中国地图(包括绘制边界框,随机点等)
python采用Basemap绘制完美中国地图(包括绘制边界框,随机点等) 1. 效果图 2. 原理 2.1 依赖模块及安装 2.2 工程目录 2.3 依赖文件latlng.txt 经纬度 3 源码 ...
- python采用Basemap绘制完美中国地图
python采用Basemap绘制完美中国地图 摘要 Basemap的安装 下载Basemap安装文件 安装 Pyproj& Basemap Basemap的Helloword 使用Shape ...
- vue中用echarts 绘制geo 中国地图
前言 由于5.X版本的echarts没有了map包,因此我先安装了5.1.1版本,再安装了4.9版本,并将4.9版本中的map包复制到了5.1.1版本里. 绘制效果如下: 1.省份根据数据值,展示不同 ...
- 解决echarts5中国地图只显示南海问题,及china.js china.json下载
问题: echarts5中国地图,只显示南海 说明: echarts3版本后,因为版权问题,echarts不再内置中国地图,也没有中国地图数据,网上找的又很多有问题,或者语焉不详... 1:需要手动引 ...
- Echarts中国地图不能显示南海诸岛的问题
注册中国地图的时候,必须是china,则echarts.registerMap('china', geoJson),不能China或是'中国',否则无法显示南海诸岛
- echarts 绘制世界地图 中国地图
1.下载 世界地图和中国地图加载包 网上找了很长时间,分享 world.js china.js 下载地址: 链接:https://pan.baidu.com/s/1itbfiTMNMkcbLfUs0N ...
- 地图 svg中国地图、echarts百度迁徙图
总结下最近使用过的地图控件: 第一种 svg中国地图 demo:http://www.oschina.net/code/snippet_54124_36979 这个很简单,照着demo里面直接调用就可 ...
- R语言画中国地图-新方法
1. 我的本期总结 # 使用sf包中的st_read函数读取[阿里云数据可视化平台]的json格式地图数据 # 使用readxl包中的read_xls函数读取xls数据 # 使用runif函数生成n个 ...
- 使用Pyecharts绘制中英文中国地图
源码很简单: import pandas as pd from pyecharts import options as opts from pyecharts.charts import Mapdf ...
最新文章
- JS ES6 实用笔记
- shell脚本参数$10问题
- 内核中用于数据接收的结构体struct msghdr以及iovec介绍
- Python:通过SNMP协议获取华为交换机的ARP地址表
- CNN看清世界——浅谈四个经典网络的差异
- tp5 使用PHPAnalysis提取关键字中文分词
- 大家一般用什么工具测试HTTP和json接口?
- ubuntu linux设置网关,ubuntu修改静态IP网关
- WYSISYN编辑器 Prosemirror 入门
- fcntl.h里没有open_国际高中课程里的IB课程 你了解多少?
- 【工作技巧】防止电脑睡眠,让鼠标自动周期性的点击屏幕
- 一个人的职业生涯之旅 —— 应届生求职、面试、Offer、跳槽(发展瓶颈、薪资倒挂、职业倦怠、骑驴找马、简历优化)问题分享
- Building the main Guest Additions module [failed]
- java 复制excel_Java 复制Excel工作表
- 查询网站收录的方式?怎样查询网站收录情况?
- Debian10更换apt源
- linux下基于qt和v4l2驱动的usb摄像头视频采集与显示,用v4l2和framebuffer实现usb摄像头视频采集并显示...
- 【财经期刊FM-Radio|2020年11月03日】
- Dweb3.0的核心基础设施?NA(Nirvana)Chain加速开凿链上域名流量通道
- 微型计算机也称为个人计算机由,微型计算机概述计算机概述微型电脑组装系统台式电脑...