はじめに
データのカーブフィットを行った際、得られたパラメータを図中に表示すると、結果が一目で分かって便利です。この記事では、matplotlib を使ってカーブフィット結果をテキストボックス内に表示する方法を解説します。
コード&解説
モジュールのインポート
バージョン
データの作成
np.random.randn関数を使用して正規分布に従う10000個のデータを生成し、np.histogram関数でヒストグラムデータを作成します。
lmfitによるフィッティング
まず、モデルを定義し、model.guessメソッドで初期パラメータを設定した後、model.fitメソッドでフィッティングを実行します。
フィッティングパラメータをDataFrameで取得
.valuesdict() メソッドで辞書形式でパラメータを取得し、その後 pd.DataFrame.from_dict でデータフレームに変換します。
テキストデータの設定
データフレームの各データを文字列(str形式)のテキストデータに変換する。
図中にテキストボックスを表示

まとめ
カーブフィット結果を図中にテキストボックスで表示することで、グラフだけで結果を完結に伝えることができます。特に論文や報告書では、この方法を活用すると読み手にとって理解しやすい図が作成できるでしょう。
参考
Placing text boxes — Matplotlib 3.10.6 documentation
Non-Linear Least-Squares Minimization and Curve-Fitting for Python — Non-Linear Least-Squares Minimization and Curve-Fitting for Python
コメント