熱圖

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

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

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

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

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

 應用領域 
熱圖因其能夠簡化數據並提供視覺上易於理解的分析而被廣泛應用於多個領域。

 商業分析 
熱圖在商業分析中用於視覺化呈現公司當前運作狀況、業績表現以及需要改進的領域。熱圖能夠分析公司現有數據並更新以反映增長和其他特定努力，為團隊成員和客戶提供視覺上的吸引力。

 網站分析 
網站使用多種類型的熱圖來確定訪問用戶的行為，通常會結合使用多個熱圖來洞察網頁上表現最好和最差的元素：
 滑鼠追蹤熱圖（Mouse tracking heat map）：也稱為懸停圖，用於視覺化用戶在網站上懸停光標的位置
 眼動追蹤熱圖（Eye tracking heat map）：測量網站用戶的眼睛位置，收集眼睛注視量、注視持續時間和感興趣區域等測量數據
 點擊追蹤熱圖（Click tracking heat map）：也稱為觸摸圖，幫助視覺化用戶的點擊行為，不僅追蹤可點擊組件（如按鈕或下拉菜單），還追蹤頁面上任何位置的非可點擊對象
 AI生成注意力熱圖（AI-generated attention heat map）：使用軟件算法確定和預測用戶在網頁特定區域的注意力
 滾動追蹤熱圖（Scroll tracking heat map）：表示網站用戶的滾動行為，幫助產生視覺提示以顯示用戶在網站哪個部分停留時間最長

 探索性數據分析 
在處理大小數據集時，數據科學家和數據分析師使用熱圖來確定數據集中不同點之間的重要關係和特徵。熱圖使得向不同專業的團隊成員總結發現和主要組成部分變得視覺上簡單。熱圖能夠在高維空間中視覺化這些數據點及其關係，而不會變得過於緊湊和視覺上不吸引人。

 金融分析 
不同產品和資產的價值隨時間快速或逐漸波動。記錄日常市場變化的能力至關重要，使得能夠從模式中得出預測，同時能夠重新訪問過去的數值數據。熱圖能夠消除繁瑣的過程，使用戶能夠視覺化數據點並在不同表現者之間進行比較。

 地理視覺化 
熱圖用於視覺化和顯示數據的地理分布。熱圖在地圖上表示不同數據點的密度，幫助用戶看到某些現象的強度，並顯示最重要或最不重要的項目。地理視覺化中使用的熱圖有時會與面量圖混淆，但兩者在數據呈現方式上有所不同。

 體育 
熱圖可用於許多體育項目，並可根據顯示的數據高低密度影響經理和教練的決策。用戶可以識別比賽中的模式、對手和自己團隊的策略，做出更明智的決策以使球員、團隊和業務受益，並通過識別需要增強的領域來提高不同方面的表現。熱圖還視覺化同一體育項目中不同團隊之間或不同體育項目之間的比較和關係。

 網絡安全 
在入侵檢測系統和日誌分析中，熱圖用於突出顯示異常訪問模式、端口掃描嘗試和惡意IP聚類。它們幫助安全運營中心（SOC）分析師快速發現大型數據集中的異常。

 城市規劃 
熱圖在城市規劃中用於視覺化交通擁堵、行人流量和環境條件，以實現數據驅動的基礎設施發展。環境熱圖追蹤空氣質量和城市熱島，指導綠地規劃。噪音污染熱圖有助於居住區附近的分區和緩解。商業規劃者使用客流量熱圖來優化零售布局。整合到智慧城市系統中，這些地圖提高了宜居性、可持續性和安全性。

 生物資訊學中的應用 
熱圖在生物資訊學中廣泛應用於視覺化大型和小型數據集。重點是DNA、RNA、基因表現等方面的模式和相似性。

 聚類熱圖 
聚類熱圖（Clustered heat map）結合了熱圖和層次聚類分析，通過將相似的樣本或基因聚集在一起來揭示數據中的模式和關係。聚類熱圖的主要組成部分包括：
 數據矩陣：以顏色表示數值的二維矩陣，通常行代表基因，列代表樣本
 樹狀圖（Dendrogram）：顯示行和列的層次聚類結果的樹狀結構
 行列標籤：標識數據點，如基因名稱或樣本編號
 色標：說明顏色與數值的對應關係

 層次聚類方法 
生成聚類熱圖時常用的層次聚類方法包括：
 單連結（Single linkage）：使用最小距離
 完全連結（Complete linkage）：使用最大距離
 平均連結（Average linkage）：使用平均距離
 Ward方法：最小化類內方差

常用的距離度量方法包括：
 歐氏距離（Euclidean distance）
 皮爾森相關係數（Pearson correlation）
 曼哈頓距離（Manhattan distance）

 Z-score標準化 
在基因表達熱圖中，通常對數據進行Z-score標準化，以便比較不同表達水平的基因。Z-score按基因（行）計算，公式為：

其中X為特定樣本中該基因的表達值，μ為該基因在所有樣本中的平均表達值，σ為標準差。

 軟件工具 
用於生成生物資訊學熱圖的常用軟件包括：

R語言套件：
 pheatmap：功能全面的聚類熱圖套件
 heatmap3：改進的熱圖套件，支持快速聚類
 ComplexHeatmap：支持多重熱圖並列和複雜註釋
 heatmaply：用於生成互動式聚類熱圖

Python函數庫：
 seaborn.clustermap()：提供自動樹狀圖生成
 matplotlib：結合scipy和pandas提供靈活繪製

專業平台：
 NG-CHM（Next-Generation Clustered Heat Maps）：由德克薩斯大學MD安德森癌症中心開發的高度互動式熱圖系統

 配色 

可以使用许多不同的配色方案来说明热图，每种方案都有感知上的优势和劣势。彩虹色彩映射经常被使用，因为相比于灰度的差异，人类更容易感知色彩的明暗，据称这将增加图像中可感知的细节数量。然而，科学界的许多人并不鼓励这样做，原因如下：How NOT to Lie with Visualization  – Bernice E. Rogowitz and Lloyd A. Treinish – IBM Thomas J. Watson Research Center, Yorktown Heights, NY
 这些颜色缺乏在灰度或黑体光谱彩色图中发现的自然感知排序。
 常见的色彩映射（如许多可视化软件包中默认的“jet”色彩映射）在亮度方面的变化不受控制，这使得在显示或印刷时无法有意义地转换为灰度。这也会分散对实际数据的注意力，使黄色和青色区域看起来比实际最重要的数据区域更突出。
 颜色之间的变化也会导致人们感知到实际并不存在的渐变，使实际的渐变不那么突出，这意味着彩虹色图在很多情况下实际上会掩盖细节，而不是增强细节。
 彩虹色彩映射中并不是所有的颜色都能被色觉障碍的读者区分，这使得相当一部分人无法使用这些颜色方案的图表。

 感知均勻配色方案 
為克服彩虹色彩映射的缺陷，科學界推薦使用感知均勻（perceptually uniform）的配色方案。

感知均勻色彩映射的特徵包括：
 在CIELAB色彩空間中亮度單調遞增
 數值相近的點具有相似的顏色外觀
 轉換為灰度時仍保持有意義的視覺層次
 對常見的色覺缺陷（色盲）友善

常用的感知均勻配色方案包括：
 Viridis：由藍色經綠色到黃色的平滑過渡
 Plasma：由藍色經紫色到黃色
 Inferno：類似黑體輻射，由黑色到黃色
 Magma：由黑色經紫色到白色
 Cividis：viridis的色盲優化版本，對色覺缺陷者特別友善

 設備兼容性 
設備限制也會顯著影響熱圖視覺化的效果。在低分辨率屏幕上顯示時，高度詳細的顏色漸變可能會出現像素化或條帶化，降低視覺化質量。設計者應考慮將顯示熱圖的所有設備及其顏色限制。綜合測試和使用顏色較少的方案是創建跨多種設備類型查看的熱圖時最安全的選擇。

 灰度兼容性 
灰度兼容性對於熱圖的可訪問性至關重要，特別是在考慮印刷媒體、黑白顯示器或單色視覺時。轉換為灰度時，許多配色方案會失去其獨特的數據映射，使不同的數值在亮度上看起來相同。灰度友好的配色方案（如viridis系列）即使在去除顏色時也能保持數據點之間的對比。

 面量圖与热图的对比 
面量圖有时被误称为热图。面量圖的特点是在地理边界内有不同的阴影或图案，以显示感兴趣的变量的比例，而热图（在地图上）的颜色变化与地理边界并不能对应上。

 软件实现 

有几种热图软件可免费使用：
 R是一个免费的统计计算和图形软件环境，它包含了几个跟踪热图的功能， 包括交互式聚集热图（通过heatmaply  R语言包）。
 Gnuplot是一个通用的免费命令行绘图程序，可以跟踪2D和3D热图。
 Google Fusion Tables可以从Google Sheets电子表格中生成热图，限制在1000点的地理数据。 support.google.com
 Dave Green的'cubehelix'配色方案提供了一种配色方案的资源，这种配色方案可以在黑白postscript设备上打印成单调增加的灰度。
 Openlayers3可以在矢量图层中渲染所有地理特征的选定属性的热图层。
 D3.js、AnyChart和Highcharts是用于数据可视化的JavaScript库，它们提供了创建交互式热图图表的能力，从基本的到高度定制的，都是其解决方案的一部分。
 Qlik Sense允许在热图中以颜色模式显示比较数据，这包含在其可视化捆绑中。
 MATLAB提供了热图可视化的能力，具有多种配置选项。
 Python是廣泛用於數據分析和視覺化的語言，支持多個創建熱圖的函數庫：
 Matplotlib的imshow()函數將2D數值數組視覺化為色彩編碼的圖像，可控制色彩映射和坐標軸
 Seaborn的heatmap()函數以最少的代碼提供美觀精緻的熱圖，常與Pandas DataFrame一起使用
 Plotly的go.Heatmap()函數創建基於HTML的互動式熱圖，允許x和y軸標籤、2D矩陣、自定義色標和詳細的懸停信息
 例子 

 参见 
 -{zh-cn:假彩色; zh-tw:假色;}-

 参考文献 

 延伸阅读 













 外部链接 



Category:分子生物学
Category:基因表現
Category:生物信息學
Category:可视化
Category:可用性
Category:专题地图