Python で列の値によって散布図に色を付けるにはどうすればよいですか?

DDD
リリース: 2024-10-19 14:48:30
オリジナル
350 人が閲覧しました

How to Color Scatter Plots by Column Values in Python?

列の値による散布図の色分け

Python では、Matplotlib ライブラリが散布図の美しさをカスタマイズするいくつかの手段を提供します。一般的なタスクの 1 つは、特定の列の値に基づいて色を割り当てることです。

Seaborn 統合

解決策の 1 つは、Matplotlib を基盤とする Seaborn ライブラリを活用することです。 Seaborn は、散布図を特定の列に簡単にマッピングできる sns.relplot や sns.FacetGrid などの高レベル関数を提供します。 hue パラメーターを指定すると、カテゴリ ラベルを含む 3 番目の列に従ってポイントに色を付けることができます。

<code class="python">import seaborn as sns

sns.relplot(data=df, x='Weight (kg)', y='Height (cm)', hue='Gender')</code>
ログイン後にコピー

Matplotlib を直接使用する

または、Matplotlib の直接使用することもできます。 plt.scatter 関数を使用して散布図を作成し、色を手動で指定します。これには、カテゴリ ラベルを色にマッピングするカスタム カラー ディクショナリを作成する必要があります。

<code class="python">def dfScatter(df, xcol='Height', ycol='Weight', catcol='Gender'):
    fig, ax = plt.subplots()

    categories = np.unique(df[catcol])
    colors = np.linspace(0, 1, len(categories))
    colordict = dict(zip(categories, colors))

    df['Color'] = df[catcol].apply(lambda x: colordict[x])
    ax.scatter(df[xcol], df[ycol], c=df.Color)
    return fig</code>
ログイン後にコピー

この関数を呼び出すことにより、指定されたカテゴリ列によって色付けされた散布図を生成できます:

<code class="python">df = pd.DataFrame({'Height': np.random.normal(size=10),
                   'Weight': np.random.normal(size=10),
                   'Gender': ["Male", "Male", "Unknown", "Male", "Male",
                              "Female", "Did not respond", "Unknown", "Female", "Female"]})
fig = dfScatter(df)</code>
ログイン後にコピー

以上がPython で列の値によって散布図に色を付けるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!