ホームページ  >  記事  >  バックエンド開発  >  Python で列の値に基づいて散布図の点に色を割り当てる方法

Python で列の値に基づいて散布図の点に色を割り当てる方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-19 14:49:02666ブラウズ

How to Assign Colors to Points in Scatter Plots Based on Column Values in Python?

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

R の ggplot2 の多用途性により、列に基づいてデータ ポイントに色をシームレスに割り当てることができます価値観。この機能は、pandas データフレームと Matplotlib を使用して Python で複製することもできます。

Pandas と Matplotlib の使用

Matplotlib の値に色をマッピングするには、次の手順を検討してください。

  1. カラー ディクショナリの作成: カテゴリ列の一意の値を対応する色にマッピングするディクショナリを定義します。これにより、データ ポイント間で一貫した色の割り当てが保証されます。
  2. 色の列を追加します: カテゴリ列の各値に対応する色を割り当てる新しい列をデータフレームに作成します。
  3. 散布図をプロットします: matplotlib.pyplot.scatter の c パラメーターを使用して、カラー列を color 引数として指定します。

実装例は次のとおりです:

<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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。