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

相关推荐
思则变2 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
漫谈网络2 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
try2find4 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
博观而约取5 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
精灵vector6 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
Zonda要好好学习6 小时前
Python入门Day2
开发语言·python
Vertira6 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
太凉7 小时前
Python之 sorted() 函数的基本语法
python
项目題供诗7 小时前
黑马python(二十四)
开发语言·python
晓13137 小时前
OpenCV篇——项目(二)OCR文档扫描
人工智能·python·opencv·pycharm·ocr