Matplotlibのプロットからデータを抽出する方法|get_xdata・get_ydataの使い方
Matplotlibで作成したプロットから元のデータを取り出したい場合、get_xdata() メソッドと get_ydata() メソッドを使うことで簡単に実現できます。これらのメソッドは、プロットされたLine2DオブジェクトからX軸・Y軸のデータポイントをそれぞれ取得します。
実行手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- numpy を使って y のデータポイントを作成します。
- y のデータポイントを color=red(赤色)・linewidth=5(線幅5)でプロットします。
- データ抽出の開始を示すメッセージを出力します。
- get_xdata() と get_ydata() メソッドを使って、手順3で作成したプロットからデータを抽出します。
- 抽出した x データと y データを出力します(手順5)。
- 図を表示するには show() メソッドを使用します。
サンプルコード
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
y = np.array([1, 3, 2, 5, 2, 3, 1])
curve, = plt.plot(y, c='red', lw=5)
print("Extracting data from plot....")
xdata = curve.get_xdata()
ydata = curve.get_ydata()
print("X data points for the plot is: ", xdata)
print("Y data points for the plot is: ", ydata)
plt.show()実行結果
Extracting data from plot.... X data points for the plot is: [0. 1. 2. 3. 4. 5. 6.] Y data points for the plot is: [1 3 2 5 2 3 1]
解説
このコードでは、まず np.array で7つの値を持つ y データを定義しています。x データを明示的に指定していないため、Matplotlibが自動的に 0〜6 のインデックス値を x 座標として割り当てます。そのため、出力結果では x データとして [0. 1. 2. 3. 4. 5. 6.]、y データとして元の配列 [1 3 2 5 2 3 1] が取得されます。
ポイントとなるのは curve, = plt.plot(...) の部分です。plt.plot() は Line2D オブジェクトのリストを返すため、カンマを使ってアンパックすることで単一の Line2D オブジェクトを受け取っています。このオブジェクトに対して get_xdata() や get_ydata() を呼び出すことで、プロットに使用された実際のデータを後から参照できるのです。
この手法は、グラフ作成後にデータを再利用したい場合や、既存の図から数値を読み取りたい場合に非常に便利です。

-
Pythonでウィキペディアのデータを抽出する方法を徹底解説
この記事では、Pythonを使ってウィキペディアのデータを抽出する方法を詳しく解説します。PythonはWebスクレイピングの分野で広く活用されており、Webサイトからメタ情報を収集するツールの開発に非常に適した言語です。 本記事では、Wikipedia APIとwikipediaライブラリを使用して、ウィキペディアのソースURLからデータを取得します。APIを利用することで、指定したURLから簡単にデータをフェッチでき、その後、対象のURLに対してメソッドを呼び出して、取得した情報を画面に出力することができます。 事前準備:wikipediaライブラリのインストール ウィキペディアからデータ
-
WebサイトからExcelへデータを自動抽出する方法|「Webから」機能の使い方を徹底解説
WebページからExcelワークシートへのデータの自動抽出(収集・更新)は、業務内容によっては欠かせない作業です。実はExcelには、Webページから直接データを取得できる機能が標準搭載されており、データ分析業務でExcelを活用する方にとって最も利用頻度の高い機能の一つとなっています。例えば金融アナリストであれば、分析のために毎日の株価をWebサイトからExcelブックへ取り込みたい場面があるでしょう。本記事では、WebサイトからExcelへデータを自動抽出する方法を、初心者にもわかる手順で丁寧に解説します。WebサイトからExcelへデータを自動抽出する基本手順ここでは、Excelの「デー