Seaborn绘制热力图的子图

Seaborn绘制热力图的子图

提示:如何绘制三张子图

绘制的时候,会出现如下问题

(1)如何绘制1*3的子图

(2)三个显示条,如何只显示最后一个


提示:下面就展示详细步骤

Seaborn绘制热力图的子图


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、seaborn是什么?

Seaborn是一个用于在Python中进行统计数据可视化的库。它是建立在Matplotlib之上的,可以轻松地创建各种各样的统计图表和信息可视化,以便更好地理解数据的分布、关系和趋势。

Seaborn提供了一系列的高级数据可视化功能,使得绘制各种统计图表变得更加简单。它具有以下特点:

  1. 美观的默认样式: Seaborn具有吸引人的默认绘图样式,这使得生成精美的图表变得更加容易。
  2. 内置的统计图表: Seaborn内置了许多常用的统计图表类型,如折线图、柱状图、箱线图、热力图、分布图等。
  3. 配色方案: Seaborn提供了各种各样的配色方案,可以让图表的颜色更加具有吸引力。
  4. 统计分析支持: Seaborn还可以与统计分析库(如pandas)集成,以更方便地可视化数据的分析结果。

使用Seaborn可以轻松地创建复杂的图表,而不需要过多的代码编写。它在数据科学、机器学习和数据分析领域广泛应用,帮助人们更好地理解数据并发现隐藏在数据中的模式和见解。

二、使用步骤

1. 方法一

直接设置cbar=False,如下代码会导致,第三张图和前两张图的尺寸不一致

c 复制代码
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# 创建数据
data1 = np.random.rand(5, 5)
data2 = np.random.rand(5, 5)
data3 = np.random.rand(5, 5)

# 创建一个1x3的子图
fig, axes = plt.subplots(1, 3, figsize=(15, 5))

# 在每个子图中绘制热力图
sns.heatmap(data1, ax=axes[0], annot=True, cmap='YlGnBu', cbar=False)
sns.heatmap(data2, ax=axes[1], annot=True, cmap='YlGnBu', cbar=False)
sns.heatmap(data3, ax=axes[2], annot=True, cmap='YlGnBu', cbar=True)

# 添加子图标题
axes[0].set_title('Heatmap 1')
axes[1].set_title('Heatmap 2')
axes[2].set_title('Heatmap 3')

# 调整子图布局
plt.tight_layout()

# 显示图形
plt.show()

2.方法二

直接设置cbar_ax=axes[2].inset_axes([1.05, 0, 0.05, 1])就可以生成三个大小一致的图形,并且只显示最后一个指示条

c 复制代码
# 创建一个1行3列的子图布局
fig, axes = plt.subplots(1, 3, figsize=(15, 4.5))


# 绘制第一个子图热力图
heatmap1 = sns.heatmap(data1, cmap='Greens', ax=axes[0], cbar=False)
# axes[0].set_title('Heatmap 1')

# 绘制第二个子图热力图
heatmap2 = sns.heatmap(data2, cmap='Greens', ax=axes[1], cbar=False)
# axes[1].set_title('Heatmap 2')

# 绘制第三个子图热力图
heatmap3 = sns.heatmap(data3, cmap='Greens', ax=axes[2], cbar_ax=axes[2].inset_axes([1.05, 0, 0.05, 1]))
# axes[2].set_title('Heatmap 3')

# 显示图形
plt.tight_layout()
plt.savefig("./figure/{}.png".format("all_hot"), dpi=300)
plt.show()

总结

提示:子图绘制总结:

在这个示例中,我们首先导入所需的库,然后创建了一个1x3的子图布局。接下来,使用Seaborn的heatmap函数在每个子图中绘制热力图,并通过ax参数指定要绘制的子图。对于前两个子图,我们将cbar参数设置为False,以防止显示颜色指示条,而在最后一个子图中,我们将cbar参数设置为True,以显示颜色指示条。最后,我们通过设置子图标题和调整布局来美化图表,然后显示图形。

相关推荐
爱笑的眼睛111 小时前
超越 `cross_val_score`:深度解析Scikit-learn交叉验证API的架构、技巧与陷阱
java·人工智能·python·ai
smj2302_796826522 小时前
解决leetcode第3782题交替删除操作后最后剩下的整数
python·算法·leetcode
gCode Teacher 格码致知2 小时前
Python基础教学:Python 3中的字符串在解释运行时的内存编码表示-由Deepseek产生
python·内存编码
翔云 OCR API2 小时前
承兑汇票识别接口技术解析与应用实践
开发语言·人工智能·python·计算机视觉·ocr
likerhood3 小时前
3. pytorch中数据集加载和处理
人工智能·pytorch·python
Data_agent3 小时前
京东图片搜索商品API,json数据返回
数据库·python·json
深盾科技3 小时前
融合C++与Python:兼顾开发效率与运行性能
java·c++·python
yaoh.wang4 小时前
力扣(LeetCode) 104: 二叉树的最大深度 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
木头左4 小时前
机器学习辅助的LSTM交易策略特征工程与入参筛选技巧
python
Lenyiin4 小时前
《 Linux 修炼全景指南: 八 》别再碎片化学习!掌控 Linux 开发工具链:gcc、g++、GDB、Bash、Python 与工程化实践
linux·python·bash·gdb·gcc·g++·lenyiin