用ggplot绘制热力图#R

1、绘制中国地图

library("maptools")
china_map = readShapePoly("D:/Astatistics/R/画热力图数据材料/中国省级地图空间数据文件/bou2_4p.shp")       # 读取地图空间数据
plot(china_map)#可以不画

2*、改变投影方式

library(ggplot2)
ggplot(china_map,aes(x=long,y=lat,group=group)) +
     geom_polygon(fill="white",colour="grey") +
     coord_map("polyconic")

3、加载和拼接行政信息

x <- [email protected]          #读取行政信息
xs <- data.frame(x,id=seq(0:924)-1)          #含岛屿共925个形状

library(ggplot2)
china_map1 <- fortify(china_map)           #转化为数据框

library(plyr)
china_map_data <- join(china_map1, xs, type = "full")       #合并两个数据框

4、制作业务工作表,保存为csv。需要NAME行(一定命名为NAME),和绘图指标C1

其中,查看数据包里各省名称

unique([email protected]$NAME)

5、读取业务指标,与地理数据合并

mydata <- read.csv("c:/rstudy/geshengzhibiao.csv")          #读取指标数据,csv格式
china_data <- join(china_map_data, mydata, type="full")          #合并两个数据框
提示:Joining by: NAME

6、绘制地图

ggplot(china_data, aes(x = long, y = lat, group = group,fill = zhibiao)) +

geom_polygon(colour="grey40") +

scale_fill_gradient(low="white",high="steelblue") +  #指定渐变填充色,可使用RGB

coord_map("polyconic") +       #指定投影方式为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)

)

7*、计算经纬度平均值添加标签

midpos <- function(x) mean(range(x,na.rm=TRUE)) #取形状内的平均坐标
centres <- ddply(china_data,.(province),colwise(midpos,.(long,lat)))

ggplot(china_data,aes(long,lat))+       #此处语法与前面不同,参考ggplot2一书P85
     geom_polygon(aes(group=group,fill=zhibiao),colour="black")+
     scale_fill_gradient(low="white",high="steelblue") +
     coord_map("polyconic") +
     geom_text(aes(label=province),data=centres) +
     theme(
          panel.grid = element_blank(),
          panel.background = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank(),
          axis.title = element_blank()
          )

8*、读取省会城市坐标添加标签

province_city <- read.csv("D:/Astatistics/R/画热力图数据材料/省会坐标.csv")  #读取省会城市坐标

ggplot(china_data,aes(long,lat))+
     geom_polygon(aes(group=group,fill=zhibiao),colour="grey60")+
     scale_fill_gradient(low="white",high="steelblue") +
     coord_map("polyconic") +
 geom_text(aes(x = jd,y = wd,label = province), data =province_city)+
     theme(
          panel.grid = element_blank(),
          panel.background = element_blank(),
          axis.text = element_blank(),
          axis.ticks = element_blank(),
          axis.title = element_blank()
          )
时间: 2024-10-27 20:55:37

用ggplot绘制热力图#R的相关文章

ggplot小技巧:绘制无限制页面大小图表方法-unlimited page size

第一次发,mark一下 ------------------------------------------------------------------------------------------------------------------------------------------------------------- ggplot对于使用R的人来说就是艺术家手中的神来之笔,其基本的使用方法这里不再赘述,可以直接参考 http://www.r-bloggers.com/sear

R语言做地图上的分析

R和ggplot可视化功能非常强大,了解了一下其中的地图做法,发现R做世界地图.美国地图非常容易,但做中国地图就太麻烦了,需要自己DIY. DIY也有多种方式,但网络上各种帖子教程的出图效果都不太理想,达不到工作用要求.下面是我的摸索过程,记录如下备忘,也请教于R老师们. 参考书目:ggplot2,R graphics cookbook,参考贴:http://site.douban.com/182577/widget/notes/10568279/note/257898418/ 0.引子 R里有

R语言:ggplot2精细化绘图——以实用商业化图表绘图为例

本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从excel转ggplot2的各位,有比较频繁的作图需求的人.不讨论那些样式非常酷炫的图表,以实用的商业化图表为主.包括以下结构: 1.画图前的准备:自定义ggplot2格式刷 2.画图前的准备:数据塑形利器dplyr / tidyr介绍 3.常用的商业用图: 1)简单柱形图+文本(单一变量) 2)分面柱形图(facet_wrap/facet_grid) 3)簇型柱形图(posi

利用R语言进行交互数据可视化(转)

上周在中国R语言大会北京会场上,给大家分享了如何利用R语言交互数据可视化.现场同学对这块内容颇有兴趣,故今天把一些常用的交互可视化的R包搬出来与大家分享. rCharts包 说起R语言的交互包,第一个想到的应该就是rCharts包.该包直接在R中生成基于D3的Web界面. rCharts包的安装 require(devtools) install_github('rCharts', 'ramnathv') rCharts函数就像lattice函数一样,通过formula.data指定数据源和绘图

利用R语言进行交互数据可视化

本文是本人受统计之都邀请写的一篇关于数据可视化的文章,感兴趣的同学可以上统计之都去查看. http://cos.name/2016/06/using-r-for-interactive-data-visualization/ 上周在中国R语言大会北京会场上,给大家分享了如何利用R语言交互数据可视化.现场同学对这块内容颇有兴趣,故今天把一些常用的交互可视化的R包搬出来与大家分享. rCharts包 说起R语言的交互包,第一个想到的应该就是rCharts包.该包直接在R中生成基于D3的Web界面.

R语言数据挖掘实战系列(2)

二.R语言简介 R语言是一种为统计计算和图形显示而设计的语言环境,具有免费.多平台支持,同时可以从各种类型的数据源中导入数据,具有较高的开放性以及高水准的制图功能.R是一个体系庞大的应用软件,主要包括核心的R标准包和各专业领域的其他包.R在数据分析.数据挖掘领域具有特别优势. R安装 R可在其主页(https://www.r-project.org/)上获得,根据所选择的平台进行下载安装.安装完成之后启动R.为了方便使用R,可使用免费的图形界面编辑器RStudio,可从https://www.r

matlab 三维绘制

1. mesh(Z)语句 mesh(Z)语句可以给出矩阵Z元素的三维消隐图,网络表面由Z坐标点定义,与前面叙述的x-y平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数据的大型矩阵,也可用来绘制Z变量函数. 显示两变量的函数Z=f(x,y),第一步需产生特定的行和列的x-y矩阵.然后计算函数在各网格点上的值.最后用mesh函数输出. 下面我们绘制sin(r)/r函数的图形.建立图形用以下方法: x=-10:1:10; y=x'; x=ones(size(y))*x

Android 图表绘制 achartengine 示例解析

作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38420197 一. AChartEngine 简介 1. 项目地址 AChartEngine 简介 : AChartEngine 是 Android 平台的图表开发库, 能绘制 折线图, 饼图, 气泡图, 柱状图, 散点图, 面积图等统计图表; 最新版本 : 1.1.0 版本; AChartEngine 地址 : https://code.google.co

数据可视化:浅谈热力图如何在前端实现

作者 个推开发工程师甄鑫 当我们需要用更直观有效的形式来展现各类大数据信息时,热力图无疑是一种很好的方式.作为一种密度图,热力图一般使用具备显著颜色差异的方式来呈现数据效果,热力图中亮色一般代表事件发生频率较高或事物分布密度较大,暗色则反之.值得一提的是,热力图最终效果常常优于离散点的直接显示,可以在二维平面或者地图上直观地展现空间数据的疏密程度或频率高低.那么制作一张完整的热力图,需要前端做哪些工作呢?接下来,我将基于自己在工作过程中的实践,为大家详细解析热力图在前端的实现过程.首先给大家看一