昨天,我们的小编推送了世界地图的画法(生信小白7行代码画一个高颜值的世界地图),今天我们来说一说中国地图的画法。
首先要强调一点,很多来自国外的地图数据中中国的版图有不少错误,千万要注意,不要被套路了。
强调第二点,画图的R代码非我原创,基于网上的版本改造而来。最主要的参考和数据下载自:https://github.com/EasyChart/Original_Data。
本文用到的所有数据也打包放到百度云盘https://pan.baidu.com/s/1JiC6DYniLc3EHszngbu8xw。
每次使用只需将“Province_Data.csv”中的第三列“Value”替换成自己的数据即可。
里边有涉及中文字符,需要注意编码的问题,在小编电脑上使用encoding = “GBK”是正常的。
输出图片保存为ppt格式,方便大家做些局部的调整。
#下载上述数据后,改成自己存放的目录。这里解压缩之后的目录为Chinese_mapsetwd("~/Desktop/scripts/Chinese_map/")library(rgdal)library(ggplot2)library(dplyr)library(RColorBrewer)library(export)dataProjected <- readOGR("./bou2_4m/bou2_4p.shp", use_iconv = TRUE, encoding = "GBK")dataProjected@data$id <- rownames(dataProjected@data)watershedPoints <- fortify(dataProjected)df_China <- full_join(watershedPoints, dataProjected@data, by = "id")df_China$class<-rep("Mainland",nrow(df_China))mydata <- read.table("Province_Data.csv",header=TRUE,sep=',', as.is =T)head(mydata)#mydata为33 X 3的表格数据,列名分别为:NAME,province,Value#.csv数据下载:https://github.com/EasyChart/Original_Datadf_China<-full_join(df_China,mydata,type="full")Width<-9Height<-9long_Start<-124lat_Start<-16df_Nanhai<-df_China[df_China$long>106.55 & df_China$long<123.58,]df_Nanhai<-df_Nanhai[df_Nanhai$lat>4.61 & df_Nanhai$lat<25.45,]min_long<-min(df_Nanhai$long, na.rm = TRUE)min_lat<-min(df_Nanhai$lat, na.rm = TRUE)max_long<-max(df_Nanhai$long, na.rm = TRUE)max_lat<-max(df_Nanhai$lat, na.rm = TRUE)df_Nanhai$long<-(df_Nanhai$long-min_long)/(max_long-min_long)*Width+long_Startdf_Nanhai$lat<-(df_Nanhai$lat-min_lat)/(max_lat-min_lat)*Height+lat_Startdf_Nanhai$class<-rep("NanHai",nrow(df_Nanhai))df_China<-rbind(df_China,df_Nanhai)#---------------------df_NanHaiLine:Nanhai Line-----------------------------------df_NanHaiLine <- read.csv("中国南海九段线.csv")colnames(df_NanHaiLine)<-c("long","lat","ID")df_NanHaiLine$long<-(df_NanHaiLine$long-min_long)/(max_long-min_long)*Width+long_Startdf_NanHaiLine$lat<-(df_NanHaiLine$lat-min_lat)/(max_lat-min_lat)*Height+lat_Start#-----------------------中国省份分级统计地图-----------------------ggplot+geom_polygon(data=df_China, aes(x=long, y=lat, group=interaction(class,group),fill=Value),colour="black",size=0.25)+#中国地图,包括中国主体部分和长方形方块内的南海诸岛数据geom_rect(aes(xmin=long_Start, xmax=long_Start+Width+0.3, ymin=lat_Start-0.3, ymax=lat_Start+Height),fill=NA, colour="black",size=0.25)+#绘制长方形方框geom_line(data=df_NanHaiLine, aes(x=long, y=lat, group=ID), colour="black", size=1)+#绘制长方形方框内的中国南海八段线scale_fill_gradientn(colours = colorRampPalette(rev(brewer.pal(11,'Spectral')))(32))+coord_cartesian+ylim(15,55)+theme(legend.position=c(0.15,0.2),legend.background = element_blank)graph2ppt(file="map.pptx", paper="A4")上图展示的其实是各省关注小麦研究联盟的人数,最多的是北京市,其次是河南和山东。
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【学校地图简笔画(中国地图的画法)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
