Seaborn繪制熱力圖的子圖
提示:如何繪制三張子圖
繪制的時候,會出現(xiàn)如下問題
(1)如何繪制1*3的子圖
(2)三個顯示條,如何只顯示最后一個
提示:下面就展示詳細步驟
前言
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、seaborn是什么?
Seaborn是一個用于在Python中進行統(tǒng)計數(shù)據(jù)可視化的庫。它是建立在Matplotlib之上的,可以輕松地創(chuàng)建各種各樣的統(tǒng)計圖表和信息可視化,以便更好地理解數(shù)據(jù)的分布、關(guān)系和趨勢。
Seaborn提供了一系列的高級數(shù)據(jù)可視化功能,使得繪制各種統(tǒng)計圖表變得更加簡單。它具有以下特點:
- 美觀的默認樣式: Seaborn具有吸引人的默認繪圖樣式,這使得生成精美的圖表變得更加容易。
- 內(nèi)置的統(tǒng)計圖表: Seaborn內(nèi)置了許多常用的統(tǒng)計圖表類型,如折線圖、柱狀圖、箱線圖、熱力圖、分布圖等。
- 配色方案: Seaborn提供了各種各樣的配色方案,可以讓圖表的顏色更加具有吸引力。
- 統(tǒng)計分析支持: Seaborn還可以與統(tǒng)計分析庫(如pandas)集成,以更方便地可視化數(shù)據(jù)的分析結(jié)果。
使用Seaborn可以輕松地創(chuàng)建復(fù)雜的圖表,而不需要過多的代碼編寫。它在數(shù)據(jù)科學(xué)、機器學(xué)習(xí)和數(shù)據(jù)分析領(lǐng)域廣泛應(yīng)用,幫助人們更好地理解數(shù)據(jù)并發(fā)現(xiàn)隱藏在數(shù)據(jù)中的模式和見解。
二、使用步驟
1. 方法一
直接設(shè)置cbar=False,如下代碼會導(dǎo)致,第三張圖和前兩張圖的尺寸不一致
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 創(chuàng)建數(shù)據(jù)
data1 = np.random.rand(5, 5)
data2 = np.random.rand(5, 5)
data3 = np.random.rand(5, 5)
# 創(chuàng)建一個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')
# 調(diào)整子圖布局
plt.tight_layout()
# 顯示圖形
plt.show()
2.方法二
直接設(shè)置cbar_ax=axes[2].inset_axes([1.05, 0, 0.05, 1])就可以生成三個大小一致的圖形,并且只顯示最后一個指示條
# 創(chuàng)建一個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()
總結(jié)
提示:子圖繪制總結(jié):
文章來源:http://www.zghlxwxcb.cn/news/detail-675502.html
在這個示例中,我們首先導(dǎo)入所需的庫,然后創(chuàng)建了一個1x3的子圖布局。接下來,使用Seaborn的heatmap函數(shù)在每個子圖中繪制熱力圖,并通過ax參數(shù)指定要繪制的子圖。對于前兩個子圖,我們將cbar參數(shù)設(shè)置為False,以防止顯示顏色指示條,而在最后一個子圖中,我們將cbar參數(shù)設(shè)置為True,以顯示顏色指示條。最后,我們通過設(shè)置子圖標題和調(diào)整布局來美化圖表,然后顯示圖形。文章來源地址http://www.zghlxwxcb.cn/news/detail-675502.html
到了這里,關(guān)于Seaborn繪制熱力圖的子圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!