热点图简介 Heat Map Hotspot Map

热点图,heat map 或 hotspot map,是在二维表面上通过颜色用图示化方法来表达二维数据的一种方式。 维基百科定义的翻译实在拗口,在Google Image(非谷歌)搜索“hotspot map” 或“heat map”可见诸多应用截图,简单明了。用LionGG的话来说,热点图图示化了离散数据(事件或事物)的分布及其相互关系,常常以一张具备显著颜色差异图片的方式呈现最终结果,亮色一般代表事件发生频率较高或事物分布密度较大,暗色反之。

在地图方面的利用,则是根据离散点数据集来源的地理位置坐标,进行相应的可视化表达。(也有人把连续场数据的插值,比如克里金插值,也归为热点图类别,但该部分不在本文讨论区间。)离散数据,点数据。本质上来看,这和点聚合(Marker Cluster)所适用的数据类型类似,只是表现方式不同罢了。

  

常见的应用有:基因热点图,点击热点图(显示了一个网页中哪些区域被点击的频率高低),HeatMap API(在豆友地图中应用过)等。具体的应用场比如交通事故发生率;犯罪发生率;电信基站分布;流行疾病发生分布;零售店分布等等。

  

利用热点图表达,不仅比单纯的点要素显示要时髦,(相关配色和地图相适应,炫目的效果更易吸引眼球。)还更容易发现事件发生频率或事物分布密度。相对关系对比更加明显,甚至可分析出未来趋势等。此外还可以提升性能,点标记太多,浏览器可能无法有效承载,生成图片则是好的选择方式。

     

算法:网上已经流传数个相似版本的各种语言的算法,比如Perl,ActionScript,C#等。原理大致如下:每个点给定一个缓冲半径(像素坐标系),每个像素的值根据距离从中心向外递减渐变;把每个像素所分配的值计算总和;然后再根据每个像素的值,赋予相应颜色即可。比较核心的就是如何确定距离递减函数,(术语:核函数),常用的可能是类似正态分布类似的,

对外而言,有4个重要的接口:点集合,颜色列表,缓冲半径(有buffer,size,resolution等之称),强度(有scale,intensity之称)。

       

本文参考文献诸多,不再一一列出,请见 https://cang.baidu.com/LionGG/tag/Heat%20Map ,部分参考文献的参考文献也非常有价值,比如维基百科参考中的PDF,主要介绍了热点图在基因图谱中的应用历史。IDV博客也有数篇文章介绍。

© 青梅猪马 | Powered by LOFTER