【Python・Matplotlib】散布図に線を重ねて描画(オーバープロット)する方法
PythonのMatplotlibでは、scatter()メソッドでデータポイントの散布図を作成した後、plot()メソッドを使うことで、その散布図の上に自由に線を重ねて描画(オーバープロット)できます。回帰直線や基準線を可視化したい場合などに非常に便利なテクニックです。
実装の手順
figure()メソッドを使って、サイズ(4, 3)の新しい図を作成するか、既存の図をアクティブにします。plt.axes()で現在の図に軸を追加し、それをカレントのAxesとして取得します。scatter()メソッドで散布図のポイントを描画します。ax.plot()メソッドで線を描画し、散布図の上に重ねます。plt.xlabel()メソッドでX軸のラベルを設定します。plt.ylabel()メソッドでY軸のラベルを設定します。plt.show()メソッドでグラフを表示します。
サンプルコード
import random
import matplotlib.pyplot as plt
plt.figure(figsize=(4, 3))
ax = plt.axes()
ax.scatter([random.randint(1, 1000) % 50 for i in range(100)],
[random.randint(1, 1000) % 50 for i in range(100)])
ax.plot([1, 2, 4, 50], [1, 2, 4, 50])
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()
実行結果
上記のコードを実行すると、ランダムに生成された100個の散布図ポイントの上に、指定した座標を通る直線が重ねて表示されます。このようにscatter()とplot()を同じAxesに対して呼び出すだけで、簡単に複数のグラフ要素を1つの図に組み合わせることができます。
なお、線の色やスタイルを変更したい場合は、ax.plot(x, y, color='red', linestyle='--')のように引数を追加すると、より見やすいグラフに仕上げられます。
-
MatplotlibとPythonで矢印プロット(Quiver Plot)を作成する方法を徹底解説
Matplotlibは、データ可視化に広く活用されている人気のPythonパッケージです。データの可視化は分析において非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を実行しなくても、データの中で何が起きているのかを直感的に把握できるようになるためです。また、定量的な洞察を効果的に伝える手段としても大きな力を発揮します。 Matplotlibは2次元のグラフやプロットを作成するために使用されます。オブジェクト指向APIを備えており、Pythonアプリケーション内にプロットを組み込むことも可能です。IPythonシェル、Jupyter Notebook、Spyder IDEなど、さ
-
PythonとMatplotlibで3次元散布図(3D散布図)を作成する方法をわかりやすく解説
Matplotlibとは?Matplotlibは、Pythonで最も広く使われているデータ可視化ライブラリの一つです。データの可視化は数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データ全体の傾向や特徴を直感的に把握できるようにしてくれる重要なステップであり、定量的な洞察を効果的に伝えるためにも欠かせません。Matplotlibは主に2次元のグラフ描画に使用されますが、オブジェクト指向APIを備えており、作成したグラフをPythonアプリケーションに簡単に組み込むことができます。IPythonシェル、Jupyter Notebook、Spyder IDEなど、さまざまな環境でも利用