Seaborn zeichnet Untergraphen von Heatmaps

Seaborn zeichnet Untergraphen von Heatmaps

提示:如何绘制三张子图

Beim Zeichnen treten die folgenden Probleme auf

(1) So zeichnen Sie einen 1*3-Untergraphen

(2) Drei Anzeigeleisten, wie nur die letzte angezeigt wird

Fügen Sie hier eine Bildbeschreibung ein


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


Vorwort


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

1. Was ist Seaborn?

Seaborn ist eine Bibliothek zur statistischen Datenvisualisierung in Python. Es basiert auf Matplotlib und erleichtert die Erstellung einer Vielzahl statistischer Diagramme und Informationsvisualisierungen, um Datenverteilungen, Beziehungen und Trends besser zu verstehen.

Seaborn bietet eine Reihe erweiterter Datenvisualisierungsfunktionen, die das Zeichnen verschiedener statistischer Diagramme erleichtern. Es weist folgende Eigenschaften auf:

  1. Schöne Standardstile: Seaborn verfügt über attraktive Standard-Plotstile, die es einfacher machen, schöne Diagramme zu erstellen.
  2. Integrierte statistische Diagramme: Seaborn verfügt über integrierte viele häufig verwendete statistische Diagrammtypen, wie z. B. Liniendiagramme, Histogramme, Boxplots, Heatmaps, Verteilungskarten usw.
  3. Farbschema: Seaborn bietet verschiedene Farbschemata, um die Farbe der Karte attraktiver zu gestalten.
  4. Unterstützung für statistische Analysen: Seaborn kann auch in statistische Analysebibliotheken (z. B. Pandas) integriert werden, um Datenanalyseergebnisse bequemer zu visualisieren.

Komplexe Diagramme können mit Seaborn einfach und ohne übermäßigen Programmieraufwand erstellt werden. Es wird häufig in den Bereichen Datenwissenschaft, maschinelles Lernen und Datenanalyse eingesetzt, um Menschen dabei zu helfen, Daten besser zu verstehen und darin verborgene Muster und Erkenntnisse zu entdecken.

2. Verwenden Sie Schritte

1. Methode 1

Wenn Sie cbar = False direkt festlegen, führt der folgende Code dazu, dass die Größe des dritten Bildes und der ersten beiden Bilder inkonsistent ist

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. Methode 2

Setzen Sie cbar_ax=axes[2].inset_axes([1.05, 0, 0.05, 1]) direkt, um drei Grafiken derselben Größe zu generieren und nur den letzten Indikatorbalken anzuzeigen

# 创建一个13列的子图布局
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()


Zusammenfassen

提示:子图绘制总结:

In diesem Beispiel importieren wir zunächst die erforderlichen Bibliotheken und erstellen dann ein 1x3-Subplot-Layout. Verwenden Sie als Nächstes die Heatmap-Funktion von Seaborn, um in jedem Untergraphen eine Heatmap zu zeichnen, und geben Sie den zu zeichnenden Untergraphen über den Axt-Parameter an. Für die ersten beiden Unterplots haben wir den Parameter „cbar“ auf „Falsch“ gesetzt, um die Anzeige des Farbindikatorbalkens zu verhindern, und im letzten Unterplot haben wir den Parameter „cbar“ auf „True“ gesetzt, um den Farbindikatorbalken anzuzeigen. Schließlich verschönern wir das Diagramm, indem wir Unterplottitel festlegen und das Layout anpassen, und zeigen dann das Diagramm an.

おすすめ

転載: blog.csdn.net/weixin_39559994/article/details/132523644