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=axes2.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,以显示颜色指示条。最后,我们通过设置子图标题和调整布局来美化图表,然后显示图形。

相关推荐
怪奇云呼军4 分钟前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
ZC跨境爬虫18 分钟前
LeetCode 27. 移除元素(双指针详解 + Java Python 多解法对比)
java·python·leetcode
路溪非溪34 分钟前
Python语言的执行流程总结
开发语言·python
宋均浩1 小时前
AI 生成代码质量防线实战:5 个 CI/CD 配置,把 8% 的逻辑错拦在线上之前0
python
树码小子1 小时前
Pycharm解释器配置问题解决
ide·python·pycharm
国雪1 小时前
python-协程
python
一木 之林1 小时前
Python.六.(一)--1.标准库、常用工具与基础操作(进阶)
python·rpc·dubbo
月光船幽幽2 小时前
铁牌协议卡:节流与重构
python·重构
骇客野人2 小时前
Linux 服务器 Python 版 MCP 服务部署整体方案(适配 Claude/Cursor/自研Agent)
linux·服务器·python
AI视觉网奇2 小时前
动作识别 视频理解大模型
开发语言·python·音视频