热图(英語:heat map)是在二维空间中以颜色的形式显示一个现象的绝对量一种数据可视化技术。颜色的变化可能是通过色调强度,给读者提供明显的视觉提示,说明现象是如何在空间上聚集或变化的。热图有两种完全不同的类别:聚集热图和空间热图。在聚集热图中,幅度被排列成一个固定单元格大小的矩阵,其行和列是离散的现象和类别,行和列的排序是有意的,而且有些随意,目的是暗示聚集或描绘出通过统计分析发现的聚集。单元格的大小是任意的,但足够大,可以清晰可见。相比之下,空间热图中某一量级的位置是由该量级在该空间中的位置所决定的,没有单元的概念,现象被认为是连续变化的。

使用透過DNA微陣列生成的熱圖呈現出基因表現
无人机探测系统射频覆盖范围的热图

雖然「熱圖」是一個新興的詞彙,但是用明暗的矩陣來標示元素的方法已經有超過一世紀的歷史了。[1]

歷史编辑

热图起源于数据矩阵中数值的二维显示。较大的数值用深灰色或黑色的方格(像素)呈现,较小的数值用较浅的方格表示。Loua (1873)使用明暗矩阵来可视化巴黎各区的社会统计数据。[1] Sneath (1957)通过将矩阵的行和列进行换位,将相似的数值按照聚类的方式放在彼此附近,来显示聚类分析的结果。Jacques Bertin使用类似的表示方法来显示符合累積量表的数据。将聚类树连接到数据矩阵的行和列的想法起源于1973年的Robert Ling。Ling使用打印机上的字符来表示不同的灰度,每个像素一个字符宽度。Leland Wilkinson在1994年开发了第一个用高分辨率彩色图形绘制聚集热图的计算机程序(SYSTAT)。

软件设计师Cormac Kinney在1991年注册了“热图”一词的商标,用来描述描述金融市场信息的二维显示。[2] 2003年收购Kinney发明的公司无意中让该商标失效。[3]

类型编辑

 
根据对飞机可能飞行路径的贝叶斯法分析,在彩色水深图上显示失踪的马航370航班的可能位置的热图。[4]

热图有不同的种类:

  • 生物学热图在分子生物学中通常用于表示从DNA微陣列中获得的许多基因在一些可比样本(如不同状态的细胞、不同患者的样本)中的表达水平。
  • 树图是数据的二维层次划分,在视觉上类似于热图。
  • 拼贴图英语Mosaic plotMosaic plot)是表示双向或多向数据表的平铺热图。与树图一样,拼贴图中的矩形区域是分层组织的。这意味着这些区域是矩形而不是正方形。Friendly (1994)调查了该图的历史和使用情况。
  • 密度函数可视化是一种用于表示地图中点的密度的热图。它使人们能够感知点的密度,而不受缩放系数的影响。Perrot et al. (2015)提出了一种使用密度函数的方法,利用Spark和Hadoop的大數據基础设施来可视化数十亿和数十亿的点。[5]

配色编辑

可以使用许多不同的配色方案来说明热图,每种方案都有感知上的优势和劣势。彩虹色彩映射经常被使用,因为相比于灰度的差异,人类更容易感知色彩的明暗,据称这将增加图像中可感知的细节数量。然而,科学界的许多人并不鼓励这样做,原因如下:[6][7][8][9][10][11]

  • 这些颜色缺乏在灰度黑体光谱彩色图中发现的自然感知排序。[6][11]
  • 常见的色彩映射(如许多可视化软件包中默认的“jet”色彩映射)在亮度方面的变化不受控制,这使得在显示或印刷时无法有意义地转换为灰度。这也会分散对实际数据的注意力,使黄色和青色区域看起来比实际最重要的数据区域更突出。[6][11]
  • 颜色之间的变化也会导致人们感知到实际并不存在的渐变,使实际的渐变不那么突出,这意味着彩虹色图在很多情况下实际上会掩盖细节,而不是增强细节。[6][10][11]
  • 彩虹色彩映射中并不是所有的颜色都能被色觉障碍的读者区分,这使得相当一部分人无法使用这些颜色方案的图表。[11]

面量圖与热图的对比编辑

面量圖英语Choropleth map有时被误称为热图。面量圖的特点是在地理边界内有不同的阴影或图案,以显示感兴趣的变量的比例,而热图(在地图上)的颜色变化与地理边界并不能对应上。[12]

软件实现编辑

有几种热图软件可免费使用:

  • R是一个免费的统计计算和图形软件环境,它包含了几个跟踪热图的功能,[13][14] 包括交互式聚集热图[15](通过heatmaply R语言包)。
  • Gnuplot是一个通用的免费命令行绘图程序,可以跟踪2D和3D热图。[16]
  • Google Fusion Tables可以从Google Sheets电子表格中生成热图,限制在1000点的地理数据。[17]
  • Dave Green的'cubehelix'配色方案提供了一种配色方案的资源,这种配色方案可以在黑白postscript设备上打印成单调增加的灰度。[18]
  • Openlayers3可以在矢量图层中渲染所有地理特征的选定属性的热图层。[19]
  • D3.js[20][21]AnyChart[22][23]Highcharts[24][25]是用于数据可视化的JavaScript库,它们提供了创建交互式热图图表的能力,从基本的到高度定制的,都是其解决方案的一部分。
  • Qlik Sense允许在热图中以颜色模式显示比较数据,这包含在其可视化捆绑中。[26]
  • MATLAB提供了热图可视化的能力,具有多种配置选项。[27][28]

例子编辑

参见编辑

参考文献编辑

  1. ^ 1.0 1.1 Wilkinson L, Friendly M. The History of the Cluster Heat Map. The American Statistician. May 2009, 63 (2): 179–184. S2CID 122792460. doi:10.1198/tas.2009.0033.  已忽略未知参数|citeseerx= (帮助)
  2. ^ United States Patent and Trademark Office, registration #75263259. 1993-09-01. 
  3. ^ Silhavy, Radek; Senkerik, Roman; Oplatkova, Zuzana Kominkova; Silhavy, Petr; Prokopova, Zdenka. Software Engineering Perspectives and Application in Intelligent Systems. 2016-04-26. ISBN 978-3-319-33622-0.  已忽略未知参数|name-list-style= (帮助)
  4. ^ MH370 – Definition of Underwater Search Areas (PDF). Australian Transport Safety Bureau. 3 December 2015. 
  5. ^ Perrot A, Bourqui R, Hanusse N, Lalanne F, Auber D. Large interactive visualization of density functions on big data infrastructure (PDF). 2015 IEEE 5th Symposium on Large Data Analysis and Visualization (LDAV). IEEE 5th Symposium on Large Data Analysis and Visualization (LDAV), 2015. 2015: 99–106. ISBN 978-1-4673-8517-6. S2CID 4768931. doi:10.1109/LDAV.2015.7348077 (英语). 
  6. ^ 6.0 6.1 6.2 6.3 Borland D, Taylor MR. Rainbow color map (still) considered harmful. IEEE Computer Graphics and Applications. 2007, 27 (2): 14–7. PMID 17388198. doi:10.1109/MCG.2007.323435. 
  7. ^ How NOT to Lie with Visualization – Bernice E. Rogowitz and Lloyd A. Treinish – IBM Thomas J. Watson Research Center, Yorktown Heights, NY
  8. ^ Harrower, Mark; Brewer, Cynthia A. ColorBrewer.org: An Online Tool for Selecting Colour Schemes for Maps. Dodge, Martin; Kitchin, Rob; Perkins, Chris (编). The Cartographic Journal. 2003: 27–37. ISBN 978-0-470-98007-1. S2CID 140173239. doi:10.1179/000870403235002042.  已忽略未知参数|name-list-style= (帮助)
  9. ^ Green DA. A colour scheme for the display of astronomical intensity images. Bulletin of the Astronomical Society of India. 2011, 39: 289–95. Bibcode:2011BASI...39..289G. arXiv:1108.5083. 
  10. ^ 10.0 10.1 Borkin MA, Gajos KZ, Peters A, Mitsouras D, Melchionna S, Rybicki FJ, 等. Evaluation of artery visualizations for heart disease diagnosis. IEEE Transactions on Visualization and Computer Graphics. December 2011, 17 (12): 2479–88. PMID 22034369. S2CID 2548700. doi:10.1109/TVCG.2011.192.  已忽略未知参数|citeseerx= (帮助)
  11. ^ 11.0 11.1 11.2 11.3 11.4 Crameri F, Shephard GE, Heron PJ. The misuse of colour in science communication. Nature Communications. October 2020, 11 (1): 5444. PMC 7595127. PMID 33116149. doi:10.1038/s41467-020-19160-7. 
  12. ^ Choropleth vs. Heat Map –. gretchenpeterson.com. 
  13. ^ Using R to draw a heat map from Microarray Data. Molecular Organisation and Assembly in Cells. 26 Nov 2009. 
  14. ^ Draw a Heat Map. R Manual. 
  15. ^ Galili T, O'Callaghan A, Sidi J, Sievert C. heatmaply: an R package for creating interactive cluster heatmaps for online publishing. Bioinformatics. May 2018, 34 (9): 1600–1602. PMC 5925766. PMID 29069305. doi:10.1093/bioinformatics/btx657. 
  16. ^ Gnuplot demo script: Heatmaps.dem. 
  17. ^ Fusion Tables Help - Create a heat map. Jan 2018.  support.google.com
  18. ^ Dave Green's 'cubehelix' colour scheme. 
  19. ^ ol/layer/Heatmap~Heatmap. OpenLayers. [2019-01-01]. 
  20. ^ Heatmap. D3.js Graph Gallery. [25 July 2020]. 
  21. ^ Most basic heatmap in d3.js. D3.js Graph Gallery. [25 July 2020]. 
  22. ^ Heat Map Chart. AnyChart Documentation. [25 July 2020]. 
  23. ^ Heat Map Charts - Gallery. AnyChart Gallery. [25 July 2020]. 
  24. ^ Heatmap - Highcharts docs. Highcharts. [9 December 2019]. 
  25. ^ Heat and tree maps - Highcharts demos. Highcharts. [9 December 2019]. 
  26. ^ Heatmap chart - Qlik Sense on Windows. Qlik. [25 July 2020]. 
  27. ^ Create heatmap chart. MATLAB. [25 July 2020]. 
  28. ^ Heatmap Examples. MATLAB. [25 July 2020]. 

延伸阅读编辑

外部链接编辑