今回はmatplotlibのscatter()関数を使った散布図の描画について解説しようと思います!
scatter()関数を使って散布図をしよう!
基本形
まずは一番シンプルな基本形です。
以下、サンプルコードとそれを実行して得られた散布図とグラフです。
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
plt.scatter(x, y)
plt.show()
簡単にコードの内容について説明します。
4-5行目で0以上1未満の浮動小数点型の乱数を100個ずつ生成して変数xとyに格納しています。
そして7行目で横軸に変数x、縦軸に変数yが描画されるようにplt.scatter()を使い、8行目で描画した内容を別ウィンドウで表示させています。
散布図の色を変える
散布図の色を変えるにはscatter()の引数に”color”を追加します。
以下、散布図の色を赤色に変更するときのコードと実行結果です。
plt.scatter(x, y, color="red")
重ね書きをして色分けする
重ね書きをして色分けするにはplt.show()を実行する前に重ねて描画したい散布図をscatter()で描きます。
以下、2つの散布図を色分けして重ね書きするときのコードと実行結果です。
import numpy as np
import matplotlib.pyplot as plt
x_blue = np.random.rand(100)
y_blue = np.random.rand(100)
x_red = np.random.rand(100)
y_red = np.random.rand(100)
plt.scatter(x_blue, y_blue, color="blue")
plt.scatter(x_red, y_red, color="red")
plt.show()
ちなみにグラフにラベルを表示したい場合は上記コードの10行目以降を次のように書き換えてください。
このコードではscatter()の引数labelに各データの内容を文字列で与えてplt.legend()で表示しています。
plt.scatter(x_blue, y_blue, color="blue", label="data_blue")
plt.scatter(x_red, y_red, color="red", label="data_red")
plt.legend()
plt.show()
その他のオプション
ここまでは多くの人が使うであろうcolorとlabelという引数について解説しましたが、scatter()関数には他にもオプションとなる引数があります。
以下、引数の一覧と簡単な解説です。
plt.scatter(x, y, s, color, marker, cmap, norm, vmin, vmax, alpha, linewidths, edgecolors)
引数 | 内容 |
---|---|
x, y | グラフに出力するデータ |
s | マーカーサイズ(デフォルト値:20 ) |
color | 色、または連続した色の値 |
marker | マーカーの形(デフォルト値:”o”=円) |
cmap | カラーマップ(colorがfloat型の場合のみ利用可能) |
norm | 正規化を行う場合のNormalizeインスタンス(colorがfloat型の場合のみ利用可能) |
vmin, vmax | 正規化時の最大・最小値 |
alpha | 透明度(0:透明~1:不透明の間の数値を指定) |
linewidth | 線の太さ |
edgecolors | 線の色 |
まとめ
今回はmatplotlibのscatter()関数を使った散布図の描画について解説しました。
この記事で不明な点や気になるところがあれば下のコメント欄までお願いします。それではまた!
コメント