美文网首页
R语言绘制地图热力图

R语言绘制地图热力图

作者: BioinfoFungi | 来源:发表于2019-04-24 21:45 被阅读0次

写在前面

参考https://blog.csdn.net/fanfanrenrenmi/article/details/52565429
https://my.oschina.net/u/2306127/blog/473842](https://my.oschina.net/u/2306127/blog/473842
这两篇文章中已经写的很详细,那就开始比着做吧
虽然之前很少用R做过地图

所用数据

https://pan.baidu.com/s/1jIicFHk](https://pan.baidu.com/s/1jIicFHk
先来安装一些的包

install.packages("mapdata")
install.packages("maptools")
install.packages("colorspace")
install.packages("ggplot2")
install.packages("mapproj")
install.packages("Cairo")
install.packages("scales")
install.packages("RColorBrewer")
library(Cairo)
#利用cairo_pdf输出中文字体
library(mapdata)
library(maptools)
library(ggplot2)
library(plyr)
library(scales)
library(colorspace)

画个好看的中国地图,使用ggplot调整到平面图,调整投影方式后,图像如下,可以不要theme部分,自己查看效果,会有经纬线等信息。

  geom_polygon(fill="white",colour="black")+
  coord_map("polyconic")+
  theme( panel.grid=element_blank(),
         panel.background=element_blank(),
         axis.text=element_blank(),
         axis.ticks=element_blank(),
         axis.title=element_blank(),
         legend.position=c(0.2,0.3)
     )
中国地图
x<-china_map@data
xs<-data.frame(x,id=seq(0:924)-1)#地图中共计有925个地域信息
china_map1<-fortify(china_map)
china_map_data<-join(china_map1,xs,type="full")#基于id进行连接
a=data.frame(unique(china_map@data$NAME))

mydata<-read.csv("geo_data/geo_data/data_dt1.csv",header=T,as.is=T)
china_data <- join(china_map_data, mydata, type="full")#基于NAME字段进行连接,NAME字段来自于地图文件中

ggplot(china_data,aes(x=long,y=lat,group=group,fill=yeild))+
  geom_polygon(colour="grey40")+ #边界颜色
  scale_fill_gradient2()+  #填充方式,这里是2色渐变填充
  coord_map("polyconic")+
  theme(
    panel.grid=element_blank(),
    panel.background=element_blank(),
    axis.text=element_blank(),
    axis.ticks=element_blank(),
    axis.title=element_blank(),
    legend.position=c(0.2,0.3)
  )##参数“yeild”为我们要展现的数据指标,基于该指标绘制热力图
热力图
  province_city<-read.csv("geo_data/geo_data/province1.csv",header=T,as.is=T)
  #通过百度地图获取每个省的中心坐标,作为标签位置
Po=ggplot(china_data,aes(long,lat))+
  geom_polygon(aes(group=group,fill=yeild),colour="grey",size=0.01)+
  scale_fill_gradient2(low = ("#A5FECB"), mid="#20BDFF", 
                       high = ("#5433FF"),midpoint = 500000,na.value = "white")+ 
  #可以更改参数scale_fill_gradient2为两个颜色的渐变色,可以使用RGB颜色
  coord_map("polyconic")+
  geom_text(aes(x=jd,y=wd,label=name),data=province_city,colour="black",size=2)+ #添加标签
  theme (
        panel.grid=element_blank(),
    panel.background=element_blank(),
    axis.text=element_blank(),
    axis.ticks=element_blank(),
    axis.title=element_blank()
    )
  
#export as tiff width=3000 mentain 
plot(Po)
其实我觉得这个图很丑
  ggsave(plot = Po, file = "Po_blue.pdf", device = cairo_pdf, family = "Song")  
  #利用cairo_pdf输出中文字体
install.packages("export")
library(export)
graph2svg(file="effect plot.svg", width=21, height=15)
#可以导出ppt再进行作图,但是没有AI强大

相关文章

  • R语言绘制地图热力图

    写在前面 参考https://blog.csdn.net/fanfanrenrenmi/article/detai...

  • R语言~绘制地图

    用于绘制轻量级样本分布图,提升文章逼格 加载程序包 读取样本地理坐标 读取地图图层 图层文件下载自http//ww...

  • R语言绘制区域热力图

    REmap包绘制2020年我国31个省市自治区GDP总量区域热力图(0603发布) 今天用的是REmap包中的re...

  • heatmap.js来绘制热力图

    因为项目需要绘制地图热力图,然后我就试了一下 leaflet.js以及heatmap.jsheatmap.js主页...

  • R语言:表格的热力图转化

    热力图是个很直观的数据展现方法,从低温的白到高温的红,代表不同数值的高低或者聚集度。在R语言中,一个heatmap...

  • R语言REmap包安装问题

    R语言 中心热力图 REmap安装包问题 试了几种方法,都没安装成功,问题见下图。 然后人大经济论坛很友好啊,和R...

  • R语言画热图

    setwd("/Users/apple/desktop/R")data<-read.table("zyfhqg.t...

  • openlayers入门开发系列之热力图篇

    本篇的重点内容是利用openlayers实现热力图功能,效果图如下: 实现思路 热力图界面设计 热力图点击事件 热...

  • python--seaborn热力图

    seaborn是专门用于统计数据可视化的包,可媲美R语言中的ggplot2包。本文介绍用seaborn绘制热力图。...

  • R语言绘制大热图

    大热图一般是高水平SCI的标准配置,可以迅速提高文章的送审和接受率。

网友评论

      本文标题:R语言绘制地图热力图

      本文链接:https://www.haomeiwen.com/subject/geyngqtx.html