热图

维基百科,自由的百科全书
跳转到导航 跳转到搜索
File:Heatmap.png
使用透过DNA微数组生成的热图呈现出基因表达
File:A 3D triangulation coverage heatmap.jpg
无人机探测系统射频覆盖范围的热图

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

虽然“热图”是一个新兴的词汇,但是用明暗的矩阵来标示元素的方法已经有超过一世纪的历史了。[1]

历史[编辑]

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

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

类型[编辑]

File:MH370 location probability heat map per DST Group analysis.jpg
根据对飞机可能飞行路径的贝叶斯法分析,在彩色水深图上显示失踪的马航370航班的可能位置的热图。[4]

热图有不同的种类:

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

应用领域[编辑]

热图因其能够简化数据并提供视觉上易于理解的分析而被广泛应用于多个领域。

商业分析[编辑]

热图在商业分析中用于可视化呈现公司当前运作状况、业绩表现以及需要改进的领域。热图能够分析公司现有数据并更新以反映增长和其他特定努力,为团队成员和客户提供视觉上的吸引力。

网站分析[编辑]

网站使用多种类型的热图来确定访问用户的行为,通常会结合使用多个热图来洞察网页上表现最好和最差的元素:

  • 鼠标追踪热图(Mouse tracking heat map):也称为悬停图,用于可视化用户在网站上悬停光标的位置
  • 眼动追踪热图(Eye tracking heat map):测量网站用户的眼睛位置,收集眼睛注视量、注视持续时间和感兴趣区域等测量数据
  • 点击追踪热图(Click tracking heat map):也称为触摸图,帮助可视化用户的点击行为,不仅追踪可点击组件(如按钮或下拉菜单),还追踪页面上任何位置的非可点击对象
  • AI生成注意力热图(AI-generated attention heat map):使用软件算法确定和预测用户在网页特定区域的注意力
  • 滚动追踪热图(Scroll tracking heat map):表示网站用户的滚动行为,帮助产生视觉提示以显示用户在网站哪个部分停留时间最长

探索性数据分析[编辑]

在处理大小数据集时,数据科学家和数据分析师使用热图来确定数据集中不同点之间的重要关系和特征。热图使得向不同专业的团队成员总结发现和主要组成部分变得视觉上简单。热图能够在高维空间中可视化这些数据点及其关系,而不会变得过于紧凑和视觉上不吸引人。

金融分析[编辑]

不同产品和资产的价值随时间快速或逐渐波动。记录日常市场变化的能力至关重要,使得能够从模式中得出预测,同时能够重新访问过去的数值数据。热图能够消除繁琐的过程,使用户能够可视化数据点并在不同表现者之间进行比较。

地理可视化[编辑]

热图用于可视化和显示数据的地理分布。热图在地图上表示不同数据点的密度,帮助用户看到某些现象的强度,并显示最重要或最不重要的项目。地理可视化中使用的热图有时会与等值区域图混淆,但两者在数据呈现方式上有所不同。

体育[编辑]

热图可用于许多体育项目,并可根据显示的数据高低密度影响经理和教练的决策。用户可以识别比赛中的模式、对手和自己团队的策略,做出更明智的决策以使球员、团队和业务受益,并通过识别需要增强的领域来提高不同方面的表现。热图还可视化同一体育项目中不同团队之间或不同体育项目之间的比较和关系。

网络安全[编辑]

在入侵检测系统和日志分析中,热图用于突出显示异常访问模式、端口扫描尝试和恶意IP聚类。它们帮助安全运营中心(SOC)分析师快速发现大型数据集中的异常。

城市规划[编辑]

热图在城市规划中用于可视化交通拥堵、行人流量和环境条件,以实现数据驱动的基础设施发展。环境热图追踪空气质量和城市热岛,指导绿地规划。噪音污染热图有助于居住区附近的分区和缓解。商业规划者使用客流量热图来优化零售布局。集成到智慧城市系统中,这些地图提高了宜居性、可持续性和安全性。

生物信息学中的应用[编辑]

热图在生物信息学中广泛应用于可视化大型和小型数据集。重点是DNARNA基因表达等方面的模式和相似性。[6]

聚类热图[编辑]

聚类热图(Clustered heat map)结合了热图和层次聚类分析,通过将相似的样本或基因聚集在一起来揭示数据中的模式和关系。[1]聚类热图的主要组成部分包括:

  • 数据矩阵:以颜色表示数值的二维矩阵,通常行代表基因,列代表样本
  • 树状图(Dendrogram):显示行和列的层次聚类结果的树状结构
  • 行列标签:标识数据点,如基因名称或样本编号
  • 色标:说明颜色与数值的对应关系

层次聚类方法[编辑]

生成聚类热图时常用的层次聚类方法包括:[7]

  • 单通道(Single linkage):使用最小距离
  • 完全链接(Complete linkage):使用最大距离
  • 平均链接(Average linkage):使用平均距离
  • Ward方法:最小化类内方差

常用的距离度量方法包括:

  • 欧氏距离(Euclidean distance)
  • 皮尔森相关系数(Pearson correlation)
  • 曼哈顿距离(Manhattan distance)

Z-score标准化[编辑]

在基因表达热图中,通常对数据进行Z-score标准化,以便比较不同表达水平的基因。[8]Z-score按基因(行)计算,公式为:

<math>Z = \frac{X - \mu}{\sigma}</math>

其中X为特定样本中该基因的表达值,μ为该基因在所有样本中的平均表达值,σ为标准差。

软件工具[编辑]

用于生成生物信息学热图的常用软件包括:

R语言包

  • pheatmap:功能全面的聚类热图包
  • heatmap3:改进的热图包,支持快速聚类[7]
  • ComplexHeatmap:支持多重热图并行和复杂注释[9]
  • heatmaply:用于生成交互式聚类热图[8]

Python函数库

  • seaborn.clustermap():提供自动树状图生成
  • matplotlib:结合scipy和pandas提供灵活绘制

专业平台

  • NG-CHM(Next-Generation Clustered Heat Maps):由德克萨斯大学MD安德森癌症中心开发的高度交互式热图系统[10]

配色[编辑]

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

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

感知均匀配色方案[编辑]

为克服彩虹色彩映射的缺陷,科学界推荐使用感知均匀(perceptually uniform)的配色方案。[17]

感知均匀色彩映射的特征包括:

  • 在CIELAB色彩空间中亮度单调递增
  • 数值相近的点具有相似的颜色外观
  • 转换为灰度时仍保持有意义的视觉层次
  • 对常见的色觉缺陷(色盲)友善

常用的感知均匀配色方案包括:

  • Viridis:由蓝色经绿色到黄色的平滑过渡[17]
  • Plasma:由蓝色经紫色到黄色
  • Inferno:类似黑体辐射,由黑色到黄色
  • Magma:由黑色经紫色到白色
  • Cividis:viridis的色盲优化版本,对色觉缺陷者特别友善[17]

设备兼容性[编辑]

设备限制也会显著影响热图可视化的效果。在低分辨率屏幕上显示时,高度详细的颜色渐变可能会出现像素化或条带化,降低可视化质量。设计者应考虑将显示热图的所有设备及其颜色限制。综合测试和使用颜色较少的方案是创建跨多种设备类型查看的热图时最安全的选择。

灰度兼容性[编辑]

灰度兼容性对于热图的可访问性至关重要,特别是在考虑印刷媒体、黑白显示器或单色视觉时。转换为灰度时,许多配色方案会失去其独特的数据映射,使不同的数值在亮度上看起来相同。灰度友好的配色方案(如viridis系列)即使在去除颜色时也能保持数据点之间的对比。

等值区域图与热图的对比[编辑]

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

软件实现[编辑]

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

  • R是一个免费的统计计算和图形软件环境,它包含了几个跟踪热图的功能,[19][20] 包括交互式聚集热图[21](通过heatmaply页面存档备份,存于互联网档案馆) R语言包)。
  • Gnuplot是一个通用的免费命令行绘图程序,可以跟踪2D和3D热图。[22]
  • Google Fusion Tables可以从Google Sheets电子表格中生成热图,限制在1000点的地理数据。[23]
  • Dave Green的'cubehelix'配色方案提供了一种配色方案的资源,这种配色方案可以在黑白postscript设备上打印成单调增加的灰度。[24]
  • Openlayers3可以在矢量图层中渲染所有地理特征的选定属性的热图层。[25]
  • D3.js[26][27]AnyChart[28][29]Highcharts[30][31]是用于数据可视化的JavaScript库,它们提供了创建交互式热图图表的能力,从基本的到高度定制的,都是其解决方案的一部分。
  • Qlik Sense允许在热图中以颜色模式显示比较数据,这包含在其可视化捆绑中。[32]
  • MATLAB提供了热图可视化的能力,具有多种配置选项。[33][34]
  • Python是广泛用于数据分析和可视化的语言,支持多个创建热图的函数库:
    • Matplotlib的imshow()函数将2D数值数组可视化为色彩编码的图像,可控制色彩映射和坐标轴
    • Seaborn的heatmap()函数以最少的代码提供美观精致的热图,常与Pandas DataFrame一起使用
    • Plotly的go.Heatmap()函数创建基于HTML的交互式热图,允许x和y轴标签、2D矩阵、自定义色标和详细的悬停信息

例子[编辑]

参见[编辑]

参考文献[编辑]

  1. ^ 1.0 1.1 1.2 Wilkinson L, Friendly M. The History of the Cluster Heat Map. The American Statistician. May 2009, 63 (2): 179–184. CiteSeerX 10.1.1.165.7924可免费查阅. S2CID 122792460. doi:10.1198/tas.2009.0033. 
  2. ^ United States Patent and Trademark Office, registration #75263259. 1993-09-01 [2019-08-14]. (原始内容存档于2013-05-11). 
  3. ^ Silhavy R, Senkerik R, Oplatkova ZK, Silhavy P, Prokopova Z. Software Engineering Perspectives and Application in Intelligent Systems. 2016-04-26 [2019-08-14]. ISBN 978-3-319-33622-0. (原始内容存档于2021-01-20). 
  4. ^ MH370 – Definition of Underwater Search Areas (PDF) (报告). Australian Transport Safety Bureau. 3 December 2015 [2021-04-04]. (原始内容存档 (PDF)于2021-04-12). 
  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). 2015: 99–106 [2021-04-04]. ISBN 978-1-4673-8517-6. S2CID 4768931. doi:10.1109/LDAV.2015.7348077. (原始内容存档 (PDF)于2019-05-03) (English).  |journal=被忽略 (帮助)
  6. ^ Eisen MB, Spellman PT, Brown PO, Botstein D. Cluster analysis and display of genome-wide expression patterns. Proceedings of the National Academy of Sciences of the United States of America. December 1998, 95 (25): 14863–8. Bibcode:1998PNAS...9514863E. PMC 24541可免费查阅. PMID 9843981. doi:10.1073/pnas.95.25.14863. 
  7. ^ 7.0 7.1 Zhao S, Guo Y, Sheng Q, Shyr Y. Advanced Heat Map and Clustering Analysis Using Heatmap3. BioMed Research International. 2014, 2014: 986048. PMC 4124803可免费查阅. PMID 25143956. doi:10.1155/2014/986048可免费查阅. 
  8. ^ 8.0 8.1 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. 
  9. ^ Gu Z, Eils R, Schlesner M. Complex heatmaps reveal patterns and correlations in multidimensional genomic data. Bioinformatics. September 2016, 32 (18): 2847–2849. PMC 5013910可免费查阅. PMID 27207943. doi:10.1093/bioinformatics/btw313. 
  10. ^ Broom BM, Ryan MC, Brown RE, Ikeda F, Stucky M, Kane DW, Melott J, Wakefield C, Casasent TD, Akbani R, Weinstein JN. A Galaxy Implementation of Next-Generation Clustered Heatmaps for Interactive Exploration of Molecular Profiling Data. Cancer Research. November 2017, 77 (21): e23–e26. PMC 5715806可免费查阅. PMID 29092929. doi:10.1158/0008-5472.CAN-17-0318. 
  11. ^ 11.0 11.1 11.2 11.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. 
  12. ^ How NOT to Lie with Visualization页面存档备份,存于互联网档案馆) – Bernice E. Rogowitz and Lloyd A. Treinish – IBM Thomas J. Watson Research Center, Yorktown Heights, NY
  13. ^ Harrower M, Brewer CA. ColorBrewer.org: An Online Tool for Selecting Colour Schemes for Maps. Dodge M, Kitchin R, Perkins C (编). The Cartographic Journal. 2003: 27–37. ISBN 978-0-470-98007-1. S2CID 140173239. doi:10.1179/000870403235002042. 
  14. ^ 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可免费查阅. 
  15. ^ 15.0 15.1 Borkin MA, Gajos KZ, Peters A, Mitsouras D, Melchionna S, Rybicki FJ, et al. Evaluation of artery visualizations for heart disease diagnosis. IEEE Transactions on Visualization and Computer Graphics. December 2011, 17 (12): 2479–88. CiteSeerX 10.1.1.309.590可免费查阅. PMID 22034369. S2CID 2548700. doi:10.1109/TVCG.2011.192. 
  16. ^ 16.0 16.1 16.2 16.3 16.4 Crameri F, Shephard GE, Heron PJ. The misuse of colour in science communication. Nature Communications. October 2020, 11 (1): 5444 [2021-04-04]. PMC 7595127可免费查阅. PMID 33116149. doi:10.1038/s41467-020-19160-7. (原始内容存档于2021-01-27). 
  17. ^ 17.0 17.1 17.2 Nuñez JR, Anderton CR, Renslow RS. Optimizing colormaps with consideration for color vision deficiency to enable accurate interpretation of scientific data. PLOS ONE. July 2018, 13 (7): e0199239. Bibcode:2018PLoSO..1399239N. PMC 6029925可免费查阅. PMID 29969456. doi:10.1371/journal.pone.0199239可免费查阅. 
  18. ^ Choropleth vs. Heat Map –. gretchenpeterson.com. [2021-04-04]. (原始内容存档于2020-08-19). 
  19. ^ Using R to draw a heat map from Microarray Data. Molecular Organisation and Assembly in Cells. 26 Nov 2009 [2021-04-04]. (原始内容存档于2010-04-30). 
  20. ^ Draw a Heat Map. R Manual. [2021-04-04]. (原始内容存档于2020-04-18). 
  21. ^ 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. 
  22. ^ Gnuplot demo script: Heatmaps.dem. [2021-04-04]. (原始内容存档于2017-11-07). 
  23. ^ Fusion Tables Help - Create a heat map. Jan 2018 [2021-04-04]. (原始内容存档于2019-11-16).  support.google.com
  24. ^ Dave Green's 'cubehelix' colour scheme. [2021-04-04]. (原始内容存档于2021-04-14). 
  25. ^ ol/layer/Heatmap~Heatmap. OpenLayers. [2019-01-01]. (原始内容存档于2020-04-18). 
  26. ^ Heatmap. D3.js Graph Gallery. [25 July 2020]. (原始内容存档于2021-03-09). 
  27. ^ Most basic heatmap in d3.js. D3.js Graph Gallery. [25 July 2020]. (原始内容存档于2020-07-25). 
  28. ^ Heat Map Chart. AnyChart Documentation. [25 July 2020]. (原始内容存档于2020-11-29). 
  29. ^ Heat Map Charts - Gallery. AnyChart Gallery. [25 July 2020]. (原始内容存档于2019-12-09). 
  30. ^ Heatmap - Highcharts docs. Highcharts. [9 December 2019]. (原始内容存档于2020-11-12). 
  31. ^ Heat and tree maps - Highcharts demos. Highcharts. [9 December 2019]. (原始内容存档于2021-04-01). 
  32. ^ Heatmap chart - Qlik Sense on Windows. Qlik. [25 July 2020]. (原始内容存档于2020-07-25). 
  33. ^ Create heatmap chart. MATLAB. [25 July 2020]. (原始内容存档于2021-01-20). 
  34. ^ Heatmap Examples. MATLAB. [25 July 2020]. (原始内容存档于2020-07-25). 

延伸阅读[编辑]

外部链接[编辑]