📜  Seaborn 热图 – 综合指南(1)

📅  最后修改于: 2023-12-03 15:34:53.862000             🧑  作者: Mango

Seaborn 热图 – 综合指南

Seaborn 是一个 Python 数据可视化库,提供了一些高层次界面,可以用来绘制各种有吸引力的统计图表。Seaborn 热图是一种二维图形表示,其中数据用颜色变量表示。这种图形具有良好的可读性,可以用于可视化矩阵数据。

本篇文章将详细介绍 Seaborn 热图的相关概念,各种参数及其用法,使读者能够更好地使用 Seaborn 进行数据分析。

Seaborn 热图的基本用法

Seaborn 的热图创建函数是 sns.heatmap()。以下是基本的用法:

import seaborn as sns
import matplotlib.pyplot as plt

# 构建数据
data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

# 绘制热图
sns.heatmap(data)
plt.show()

该代码将创建一张简单的热图,显示 4x4 矩阵中每个位置的值。默认情况下,Seaborn 使用预定义的颜色主题来显示数据。

美化热图

Seaborn 提供了很多选项来美化热图并更好地可视化数据。以下是一些常用的选项:

调整热图颜色主题

Seaborn 支持多种颜色主题,可以使用 cmap 参数调整颜色主题。下面的代码示例将颜色主题设置为 Blues

import seaborn as sns
import matplotlib.pyplot as plt

# 构建数据
data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

# 绘制热图
sns.heatmap(data, cmap="Blues")
plt.show()
调整热图大小

可以使用 figsize 参数来调整热图的大小。下面的代码示例将热图大小设置为 (6, 6)

import seaborn as sns
import matplotlib.pyplot as plt

# 构建数据
data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

# 绘制热图
plt.figure(figsize=(6, 6))
sns.heatmap(data)
plt.show()
添加坐标轴标签

可以使用 xticklabelsyticklabels 参数来为坐标轴添加标签。下面的代码示例向 x 轴和 y 轴添加标签:

import seaborn as sns
import matplotlib.pyplot as plt

# 构建数据
data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

# 绘制热图
sns.heatmap(data, xticklabels=['A', 'B', 'C', 'D'], yticklabels=['W', 'X', 'Y', 'Z'])
plt.show()
添加颜色条

可以使用 cbar 参数来添加颜色条。下面的代码示例在热图右侧添加颜色条:

import seaborn as sns
import matplotlib.pyplot as plt

# 构建数据
data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

# 绘制热图
sns.heatmap(data, cbar=True)
plt.show()
其他常用参数

除了上述常用参数之外,Seaborn 热图还有一些其他常用参数:

linewidths

调整每个单元格边框的宽度。默认为 0。

sns.heatmap(data, linewidths=0.5)
annot

如果为 True,则在每个单元格中显示数据值。默认为 False。

sns.heatmap(data, annot=True)
fmt

当使用 annot 时,指定数字格式(例如,’d’对于整数,’.1f’对于一位小数,’%’为百分号格式,’g’为一般格式)。默认为 None。

sns.heatmap(data, annot=True, fmt='.1f')
square

如果为 True,则将每个单元格的高度设置为等于其宽度。默认为 False。

sns.heatmap(data, square=True)
结论

Seaborn 热图是一种优秀的数据分析工具,能够将矩阵数据可视化。它具有可配置的颜色映射、标签、颜色条等选项,可以快速生成美观且有意义的图表。本篇文章对 Seaborn 热图的基本概念及常用参数做了详细介绍,希望能帮助读者更好地使用 Seaborn 进行数据分析。