グラフ描画ライブラリmatplotlibを用いた散布図作成方法とグラフの体裁の変更方法を説明する。散布図を作成するにはmatplotlib.pyplot.scatterを使用する。
ライブラリmatplotlibを使う場合にはインポートが必要。matplotlib.pyplotは通常以下の書式でpltと略されインポートされる。
import matplotlib.pyplot as plt
1. 散布図作成
散布図を作成するには matplotlib.pyplot.scatter を用いる。書式は以下の通り。
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None, plotnonfinite=False, data=None)
引数 | 意味 |
---|---|
x, y | データ |
s | マーカーサイズ(オプション)。points**2 |
c | マーカー色(オプション) |
marker | マーカーの形(オプション)。デフォルトは'o' |
cmap | カラーマップの指定(オプション) |
norm | カラーマップの正規化(オプション) |
vmin, vmax | カラーマップ正規化時の最大、最小値(オプション) |
alpha | マーカーの透明度(オプション)。0(透明)~1(不透明) |
linewidths | マーカー境界線太さ(オプション) |
edgecolors | マーカー境界線色(オプション) |
引数 x 、 y に各点のx、yの値を与えれば最も簡単な散布図が作成できる。
コード
import matplotlib.pyplot as plt
x = [2, 5, 7, 12]
y = [11, 24, 44, 70]
plt.scatter(x, y)
plt.show()
実行結果
2. グラフの体裁変更
グラフタイトル、x軸ラベル、y軸ラベルを表示するには
matplotlib.pyplot
に対して
title
xlabel
ylabel
を用いる。
また、目盛り線を表示するには
grid
を
True
とする。
コード
import matplotlib.pyplot as plt
x = [2, 5, 7, 12]
y = [11, 24, 44, 70]
plt.scatter(x, y)
plt.title('scatter')
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True)
plt.show()
実行結果
プロットの色・サイズを変えるには scatter の引数 c s を使う。 s にはマーカーのpoint**2の値を与える。
コード
import matplotlib.pyplot as plt
x = [2, 5, 7, 12]
y = [11, 24, 44, 70]
plt.scatter(x, y, s=80, c='orange')
plt.show()
実行結果
複数系列をプロットする場合は scatter' を系列の数繰り返す。
コード
import matplotlib.pyplot as plt
x = [2, 5, 7, 12]
y = [11, 24, 44, 70]
x2 = [2, 5, 7, 12]
y2 = [18, 43, 74, 170]
plt.scatter(x, y, s=80, c='orange')
plt.scatter(x2, y2, s=80, c='blue')
plt.show()
実行結果
各水準に名称を付ける場合は scatter の引数 label を与え matplotlib.pyplot オブジェクトに対して legend を実行する。
コード
import matplotlib.pyplot as plt
x = [2, 5, 7, 12]
y = [11, 24, 44, 70]
x2 = [2, 5, 7, 12]
y2 = [18, 43, 74, 170]
plt.scatter(x, y, s=80, c='orange', label='A')
plt.scatter(x2, y2, s=80, c='blue', label='B')
plt.legend()
plt.show()
実行結果
3. リファレンス
使用バージョン:Python 3.7.0 / matplotlib 3.2.1
0 件のコメント:
コメントを投稿