Python Code Notes

Information by python engineer

【matplotlib.pyplot】scatterメソッドでグラフを描画する方法【Python】

scatterメソッドによるグラフの描画

scatterでグラフを描画する方法をまとめます。

グラフ表示するデータの準備

最初に以下のコードを実行し、表示させるグラフのデータを準備します。モジュールのインポートも一緒に実行しています。

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(50)
y = x + 10 * np.random.randn(50)

以下の例では、subplots関数を用いてグラフオブジェクトを生成しています。subplots関数を用いたグラフの描画については、以下の記事を参照してください。

[↑ 目次へ]

scatterメソッドでグラフを描画

Axesオブジェクトに対してscatterメソッドを実行することで、散布図を生成することができます。

例:

fig, ax = plt.subplots()
ax.scatter(x, y)

出力:

f:id:vigilantPotato:20190718225259p:plain

また、以下の例に示すように、dataオプションを用いて辞書型やpandasのDataFrame型の様なデータを扱うこともできます。

例:

data = {"x": x, "y": y}
fig, ax = plt.subplots()
ax.scatter("x", "y", data=data)

このように、基本的にはplotメソッドと同じような使い方になります。

ただし、scatterメソッドで描画したグラフはマーカーで表示され、補完線は使用できません。

scatterメソッドの特徴として、マーカーの色・サイズをデータ点ごとに設定できることがありますが、これらを利用しないならばplotメソッドを用いたほうが処理が高速になります。それぞれの特徴を把握し、状況応じて使い分けていく必要があります。

plotメソッドを用いたグラフの描画については、以下の記事を参照してください。

[↑ 目次へ]

マーカー色の設定

scatterメソッドのcオプションを用いて、各データ点ごとにマーカーの色を設定することができます。

データ長と同じ長さの色データを準備し、cオプションに渡します。

以下の例では、色データとして整数値を設定しています。


例:

c = np.random.randint(0, 50, 50)
fig, ax = plt.subplots()
ax.scatter(x, y, c=c)

出力:

f:id:vigilantPotato:20190718230336p:plain

[↑ 目次へ]

マーカーサイズの設定

scatterメソッドのsオプションを用いて、各データ点ごとにマーカーのサイズを設定することができます。

データ長と同じ長さのサイズデータを準備し、cオプションに渡します。


例:

d = 10* x
fig, ax = plt.subplots()
ax.scatter(x, y, s=d)

出力:

f:id:vigilantPotato:20190718230435p:plain

[↑ 目次へ]

マーカー形状の設定

マーカーの設定するには、markerオプションを使用します。

使用できるmarkerの種類はplotメソッドと同じなので、こちらを参照してください。


例:

fig, ax = plt.subplots()
ax.scatter(x, y, marker="+")

出力:

f:id:vigilantPotato:20190718230452p:plain

[↑ 目次へ]