ホームページ > バックエンド開発 > Python チュートリアル > Seaborn Displot が Matplotlib サブプロットで動作しないのはなぜですか?

Seaborn Displot が Matplotlib サブプロットで動作しないのはなぜですか?

Barbara Streisand
リリース: 2024-10-29 06:33:30
オリジナル
983 人が閲覧しました

Why Doesn't Seaborn Displot Work with Matplotlib Subplots?

エラー: seaborn Displot がサブプロット内にプロットされない

Seaborn displot を matplotlib と一緒に使用すると、期待どおりに並列プロットを生成できません。 pyplot.subplots。このエラーは、displot がサブプロットに必要な 'ax' パラメータを欠いている Figure レベルの関数であるために発生します。

解決策:

問題を解決して 2 つのプロットを表示するには同じ行で、「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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート