「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python で列の値に基づいて散布図の点に色を割り当てる方法

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

2024 年 11 月 10 日に公開
ブラウズ:950

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 引数として指定します。
実装例は次のとおりです。

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

使用例

身長、体重、性別の列を含むデータフレームを考えてみましょう。性別列に基づいて色が割り当てられる散布図を作成するには:

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)
これにより、Gender 列が各データ ポイントの色を決定する散布図が生成されます。

リリースステートメント この記事は次の場所に転載されています: 1729320437 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3