[SciPy] 6. interpolate interp1dによるデータの補間

matplotlib

はじめに

Scipyのinterpolate interp1dにより、データ間の空白区間を補間する方法について説明する。

コード

コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

データの生成

np.linspace()により、0から20を21 等分した配列を生成する。
np.random.rand()により、0から1のランダムな要素をもち、要素数が21個の配列を生成する。

補間するための関数の生成

interp1d(x, y)のようにする。補間の種類を指定しない場合は、linearとなり線形補間される。
kind=cubicとした場合は、3次スプラインにより補間される。

補間データの生成

補間するため、x_intはxよりもデータ間の間隔を短くする必要がある。
f1(x_int)のようにすることでx_intの各要素における補間値が得られる。

図の表示

各プロットにzorderを設定することで重なり具合を調整している。zorderが大きいものほど最表面にくる。

関連記事

ipywidgetsにより対話的に補間の調整をする方法

[ipywidgets] 2. interactで補間データの間隔を調整
jupyter notebookでは対話的にパラメータを調整できる機能(ipywidgets)がある。ここでは、その機能の一つであるinteractを使って、Scipyのinterpolate interp1dによる補間におけるデータ間隔を調整する方法について説明する。
[ipywidgets] 3. RadioButtonsで任意の補間方法を選択する
jupyter notebookでは対話的にパラメータを調整できる機能(ipywidgets)がある。ここでは、その機能の一つであるRadioButtonsを使って、Scipyのinterpolate interp1dの補間方法を選択する方法について説明する。

参考

Interpolation (scipy.interpolate) — SciPy v1.3.3 Reference Guide
matplotlibの表示順に関する設定 - Qiita
#grid gridが最前面にきて、plotに覆いかぶさることがたまにあります。 !(

コメント