专栏名称: 小猿猴GISer
GIS遥感交流学习
目录
相关文章推荐
科学网  ·  同济大学领导班子调整 ·  昨天  
51好读  ›  专栏  ›  小猿猴GISer

【硬核】令人心动的热力图

小猿猴GISer  · 公众号  ·  · 2024-09-01 10:36

正文


热图(Heatmap)是一种重要的数据可视化方法,它通过 颜色变化 将数值矩阵中数据的 差异、模式、趋势和关联性 进行展示。在热图中,每个单元格的值被映射为一个特定的颜色,颜色的深浅或色调的变化反映了数据值的大小或差异。在科研绘图中热图常被应用于展示数据的关联性、聚类结构以及整体分布规律等。热图作为数据可视化的一种重要工具,在生物信息学、金融学、水文学、社会科学中应用广泛。


01

几种常见热图


1.1 聚类热图

聚类热图结合了热图的可视化效果和聚类分析的统计方法,在展示数据的同时对 行和列进行聚类分析 ,以揭示数据中的相似性和差异性,帮助研究者更直观地理解数据间的关系和模式。


左右滑动查看更多

图片来源:

https:// doi.org/10.1038/s41598-018-31706-w

https:// doi.org/10.1128/msphere.00104-22


1.2 相关性热图

相关性热图以矩阵的形式呈现,通过颜色的深浅来展示 两个或多个变量之间的相关性强度 ,其中行和列都代表数据集中的变量。 矩阵中的每个单元格显示两个变量之间的相关性系数。


左右滑动,查看更多

图片来源:

https:// doi.org/10.3390/math10122000

https:// doi.org/10.3390/jof8070730


1.3 组合热图

组合热图是一种由多种图形组合而成的图表,用于同时展示变量在某种指标的大小及变化趋势,提供了更丰富的信息维度,帮助研究者更全面地理解和分析数据。


图片来源:

https://doi.org/10.1111/1462-2920.12886

https://doi.org/10.1002/lno.11643


1.4 方格热图

方格热图是一种通过颜色深浅来展示数据大小和变化趋势的可视化方法,它通常由若干个小正方形方格组成,每个方格代表数据集中的一个数据点或变量之间的关系。


图片来源:

Heterogeneity in Riverine Ecosystem Service Perceptions Insights for Water-

decision Processes in Transboundary Rivers

https://doi.org/10.1186/s40538-021-00218-7

https://doi.org/10.1002/lno.11643

https:// doi.org/10.1145/3531146.3533222

https:// doi.org/10.7717/peerj.9082


1.5 空间热图

空间热图常用在二维空间或地理空间中表示数据的大小、密度或强度等特征。下图是一张来自Nature的图片,它结合地理信息系统展示不同河段的温度分类阈值。


图片来源:

https://doi.org/10.1038/sdata.2019.17


02

热图色系如何选择


热图的色系选择对于数据可视化效果至关重要,它直接影响到观众对数据信息的理解和感知。热图色系的选择应该遵循以下几个原则:

2.1 色彩分布与对比度

  • 连续的色彩分布: 选择一个从浅色到深色的连续色彩分布,有助于更好地展示数据的层次和变化。

  • 高对比度: 使用高对比度的配色方案以便在视觉上突出数据的差异和细节。


2.2 色彩映射与顺序

  • 明确的色彩映射: 使用明确的色彩映射来表示数据的不同状态或类别。

  • 清晰的色彩顺序: 保持色彩顺序的一致性,有助于读者快速理解数据的逻辑关系和变化趋势。


2.3 常见的色系选择

03

简单热图绘制


R语言

(1)热图

install.packages("pheatmap")# 加载pheatmap包  library(pheatmap)  # 创建行名和列名向量  row_names "Row", 1:10, sep = "")  col_names "Col", 1:10, sep = "")  # 创建一个示例数据矩阵  set.seed(123) # 设置随机种子以保证结果可重复  test_matrix 100), nrow=10, ncol=10,dimnames = list(row_names, col_names)) # 生成一个10x10的随机正态分布矩阵  
# 绘制带有聚类的热图 pheatmap(test_matrix, scale = "row", # 按行进行标准化(也可以选择"column""none" clustering_distance_rows = "euclidean", # 行聚类的距离度量 clustering_distance_cols = "euclidean", # 列聚类的距离度量 clustering_method = "complete", # 聚类方法(也可以使用"average""single"等) color = colorRampPalette(c("blue", "white", "red"))(255), # 颜色渐变 border_color = NA, # 单元格边框颜色 show_rownames = TRUE, # 显示行名 show_colnames = TRUE, # 显示列名 fontsize_row = 8, # 行名字体大小 fontsize_col = 8) # 列名字体大小


结果如图所示:


(2)Mantel test图

##Mantel test plotsetwd('C:/Users/ASUS/Desktop/Mantel test分析')#设置工作路径#加载包library(vegan)library(dplyr)library(ggcor)library(ggplot2)data("varechem")data("varespec")set.seed(20191224)sam_grp sample(paste0("sample"






请到「今天看啥」查看全文