※このページではアフィリエイト広告を利用しています

【Python応用】Matplotlibを用いた散布図作成方法-まとめ-

Python

ここでは、PythonにおけるMatplotlibを用いた散布図を作成する方法について解説しています。

スポンサーリンク
スポンサーリンク

基本的な型

Axes.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)

Axes.scatterの最低限の引数はx、yになります。

x,y入力データ(配列)
smakerのサイズ指定。デフォルトでは2。
cmakerの色設定。
makerマーカーの指定。デフォルトでは’o’。指定できるマーカーの種類はこちらを参照下さい。
cmapカラーマップの設定。
norm正規化の設定。色の設定(c)を0~1の間でスケーリングする。
vmin,vmax色の設定(c)をカラーマップ(cmap)にマップする際の最小値、最大値の設定。
alpha0(透明)から1(不透明)までのアルファブレンディング値。
linewidthsマーカーのエッジ幅の設定。
edgecolorsマーカーのエッジの色の設定。
plotnonfinite色の設定(c)におけるinf、-inf、またはnanを持つ点をプロットするかどうかの設定。

基本的な型は以上になります。他にもオプションとしてラベル設定等が可能です。

散布図作成

デフォルトの散布図

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#1---Data設定
x = np.random.rand(100)
y = np.random.rand(100)
#2---デフォルトの散布図を描画
plt.scatter(x, y)
plt.savefig("plot_sca1.png")

上記がプログラムになります。データは乱数を基にしています。散布図の作成は2の部分に着目して下さい。

xがx軸、yがy軸のデータになります。

DataFrame型でのデータ設定

DataFrame型でデータをプロットしたい場合は以下のようにすることで可能です。

data = {"x":x, "y":y}
plt.scatter("x", "y", data=data)
plt.savefig("plot_sca2.png")

出力結果はデフォルトと一緒なので省略します。

色の設定

#2---color設定
plt.scatter(x, y,c="r",edgecolor="b")
plt.savefig("plot_sca3.png")

マーカーの色を赤、マーカーのエッジの色を青に指定しています。

マーカーの設定

#2---マーカー設定
plt.scatter(x, y,marker="^")
plt.savefig("plot_sca4.png")

マーカーの種類を三角形に指定しています。指定できるマーカーの種類はこちらを参照下さい。

カラーマップ設定

#2---カラーマップ設定
value = np.random.rand(100)
plt.scatter(x, y,s=100, c=value, cmap='Greens')
plt.colorbar()#カラーバー取得
plt.savefig("plot_sca5.png")

マーカーのサイズを100、カラーをvalueで作成した乱数を基に設定、カラーマップの色を緑に設定。

「colorbar」でカラーバーを取得しています。

グリッド線の設定

#2---グリッド線設定
plt.scatter(x, y)
plt.grid(True)
plt.savefig("plot_sca6.png")

グリッド線を追加する場合はgrid()を呼び出してTrueとするだけです。

複数データ群のプロット設定

#2---複数データ群のプロット
l = np.random.rand(100)
m = np.random.rand(100)
plt.scatter(x, y)
plt.scatter(l,m)
plt.savefig("plot_sca7.png")

複数データをまとめてプロットしたい場合はscatterを回数分読み出すだけです。

凡例設定

#2---凡例設定
l = np.random.rand(100)
m = np.random.rand(100)
plt.scatter(x, y,label='data1')
plt.scatter(l,m,label='data2')
plt.legend(loc='upper left')
plt.savefig("plot_sca8.png")

凡例を設定する場合はlabelを指定した上で、legendで呼び出すことで可能です。locは凡例の位置を指定しています。ここでは左上に指定しています。

凡例の位置指定は以下の通りです。

upper right
upper left
lower left
lower right
right
center left
center right
lower center
upper center
center

最後に

「Matplotlib」を用いた散布図(Axes.scatter)を作成する方法についてまとめました。

適宜、参照下さい。

タイトルとURLをコピーしました