Matplotlib: 値によって散布図に色を付ける方法


多くの場合、3 番目の変数に基づいて matplotlib 散布図内の点の色をシェーディングしたい場合があります。幸いなことに、これは次の構文をとるmatplotlib.pyplot.scatter()関数を使用して簡単に行うことができます。

matplotlib.pyplot.scatter(x, y, s=なし, c=なし, cmap=なし)

金:

  • x:プロットの x 軸の位置に使用する値のテーブル。
  • y:プロット内の y 軸の位置に使用する値の配列。
  • s:マーカーのサイズ。
  • c:マーカーの色に使用する値の表。
  • cmap:プロットに使用するカラー マップ。

cを使用して色の値に使用する変数を指定でき、 cmapを使用して点群内のマーカーに使用する実際の色を指定できます。

このチュートリアルでは、この機能の実際の使用例をいくつか説明します。

例 1: 値ごとに色分けされた散布図のポイント

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29],
                   'y': [5, 7, 7, 9, 12, 9, 9, 4],
                   'z': [3, 4, 4, 5, 7, 8, 8, 9]})

#view DataFrame
df

        X Y Z
0 25 5 3
1 12 7 4
2 15 7 4
3 14 9 5
4 19 12 7
5 23 9 8
6 25 9 8
7 29 4 9

次のコードは、グレーのカラー パレットを使用し、 z変数の値をカラー パレットの色合いとして使用して点群を作成する方法を示しています。

 import matplotlib.pyplot as plt

#create scatterplot
plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' gray ')

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

この特定の例では、「グレー」カラー パレットを選択しますが、使用できるカラー パレットの完全なリストは、matplotlib カラー パレットのドキュメントで見つけることができます。

たとえば、代わりにカラー パレットとして「Greens」を指定することもできます。

 plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens ') 

cmap を使用した Matplotlib 散布図

デフォルトでは、 c引数の値が大きいマーカーはより濃い色で表示されますが、cmap 名に_rを追加するだけでこの傾向を逆転させることができます。

 plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens_r ') 

Matplotlib カラー パレットの逆スケール

例 2: カテゴリ別の色付き散布図ポイント

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29],
                   'y': [5, 7, 7, 9, 12, 9, 9, 4],
                   'z': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']})

#view DataFrame
df

	X Y Z
0 25 5 A
1 12 7 A
2 15 7 B
3 14 9 B
4 19 12 B
5 23 9 C
6 25 9 C
7 29 4 C

次のコードは、 z変数を使用して散布図を作成し、カテゴリに基づいてマーカーに色を付ける方法を示しています。

 import matplotlib.pyplot as plt

groups = df. groupby ('z')
for name, group in groups:
    plt. plot (group.x, group.y, marker=' o ', linestyle='', markersize=12, label=name)

plt. legend ()

カテゴリ別に色分けされた Matplotlib 散布図

その他の Python チュートリアルはここで見つけることができます。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です