首頁 > 後端開發 > Python教學 > 為什麼 Seaborn Displot 不能與 Matplotlib 子圖一起使用?

為什麼 Seaborn Displot 不能與 Matplotlib 子圖一起使用?

Barbara Streisand
發布: 2024-10-29 06:33:30
原創
986 人瀏覽過

Why Doesn't Seaborn Displot Work with Matplotlib Subplots?

錯誤:seaborn Displot 未在子圖中繪圖

與 matplotlib 一起使用時,Seaborn displot 無法如預期生成並排圖。 pyplot.子圖。出現此錯誤的原因是 displot 是圖形級函數,缺少子圖所需的 'ax' 參數。

解決方案:

解決問題並顯示兩個圖在同一行上,有必要使用支援「ax」參數的適當軸級圖。在這種情況下,histplot 是首選。這是修正後的程式碼:

<code class="python">import seaborn as sns
import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)

sns.histplot(x=X_train['Age'], hue=y_train, ax=ax1)
sns.histplot(x=X_train['Fare'], hue=y_train, ax=ax2)</code>
登入後複製

替代方法:

如果您喜歡使用displot,您可以使用pd.melt 將資料重組為長格式,並將displot 套用於轉換後的資料框。

<code class="python">dfl = X_train.melt(id_vars='passenger', value_vars=['Age', 'Fare'], var_name='category', value_name='value')

sns.displot(data=dfl, x='value', col='category', hue='passenger')</code>
登入後複製

其他注意事項:

對於具有多個資料框的軸級圖,使用pd.concat 將它們組合起來並分配一個唯一的“來源」列用於識別每個資料點的來源。此列可用於 row=、col= 或 Hue=。

以上是為什麼 Seaborn Displot 不能與 Matplotlib 子圖一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板