tkplot プログラム仕様
tkplot.py
フィット結果の標準プロット補助。
細かい見た目はアプリ側で調整できるよう、 Figure/Axes を返す薄い関数にしている。
- regression.tklsq.tkplot.make_xcal(x: Sequence[float] | ndarray, *, n: int = 401, xmin: float | None = None, xmax: float | None = None, margin: float = 0.0) ndarray[ソース]
プロット用の滑らかな x 軸を生成します。
与えられたデータ点 x の範囲に基づいて、プロットに適した均一な間隔のx軸を生成します。 最小値、最大値、またはマージンを調整して、表示範囲を制御できます。
- パラメータ:
- 戻り値:
プロット用に生成された滑らかなx軸のデータ。
- 戻り値の型:
np.ndarray
- regression.tklsq.tkplot.plot_band(ax, band: Mapping[str, Sequence[float] | ndarray], *, color: str = 'tab:blue', alpha: float = 0.18, label: str = 'uncertainty')[ソース]
既存のAxesオブジェクトに誤差帯(不確実性帯域)を追加します。
モデルの予測の信頼区間や、データの不確かさを視覚的に表現するために使用します。 `band`辞書には、xデータとyの低/高値、またはyの平均値と標準偏差を含める必要があります。
- パラメータ:
ax (matplotlib.axes.Axes) -- 誤差帯を追加するmatplotlibのAxesオブジェクト。
band (Mapping[str, ArrayLike]) -- 誤差帯に関する情報を含む辞書。 {"x": xband, "y_low": y_low, "y_high": y_high} または {"x": xband, "y_mean": y_mean, "sigma": sigma} の形式である必要があります。
color (str) -- 誤差帯の塗りつぶし色。
alpha (float) -- 誤差帯の透明度。0.0(完全に透明)から1.0(完全に不透明)の範囲。
label (str) -- 誤差帯の凡例ラベル。
- 例外:
ValueError -- `band`辞書に必要なキー('x'、および'y_low'/'y_high'または'y_mean'/'sigma')が含まれていない場合。
- 戻り値:
なし (Axesを直接変更します)。
- 戻り値の型:
None
- regression.tklsq.tkplot.plot_fit_before_after(x: Sequence[float] | ndarray, y: Sequence[float] | ndarray, model_func: Callable[[ndarray, Mapping[str, float]], Sequence[float] | ndarray], p_before: Mapping[str, float], *, p_after: Mapping[str, float] | None = None, xcal: Sequence[float] | ndarray | None = None, yerr: Sequence[float] | ndarray | None = None, band: Mapping[str, Sequence[float] | ndarray] | None = None, xlabel: str = 'x', ylabel: str = 'y', title: str = 'fit result', data_label: str = 'data', before_label: str = 'before', after_label: str = 'after', out_png: str | Path | None = None, show: bool = False, close: bool = True)[ソース]
データ、フィット前、フィット後を重ねて描画します。
観測データ、フィット前のモデル予測、フィット後のモデル予測を一つのグラフ上に表示します。 オプションで、データの誤差棒やモデルの誤差帯を追加することも可能です。 生成されたFigureとAxesオブジェクトを返却し、さらに画像ファイルとして保存したり、 画面に表示したりすることもできます。
- パラメータ:
x (ArrayLike) -- 観測データのx座標。
y (ArrayLike) -- 観測データのy座標。
model_func (Callable[[np.ndarray, Mapping[str, float]], ArrayLike]) -- モデル関数。y = model_func(x_array, params_dict) の形式で呼び出されます。
p_after (Optional[Mapping[str, float]]) -- (オプション) フィット後のモデルパラメータを含む辞書。指定しない場合、フィット後の曲線はプロットされません。
xcal (Optional[ArrayLike]) -- (オプション) モデル曲線を描画するためのx軸データ。指定しない場合、`make_xcal`によって自動生成されます。
yerr (Optional[ArrayLike]) -- (オプション) データのy方向の誤差。指定した場合、エラーバーがプロットされます。
band (Optional[Mapping[str, ArrayLike]]) -- (オプション) モデルの不確実性帯域に関する情報を含む辞書。 {"x": xband, "y_low": y_low, "y_high": y_high} または {"x": xband, "y_mean": y_mean, "sigma": sigma} の形式。
xlabel (str) -- x軸のラベル文字列。
ylabel (str) -- y軸のラベル文字列。
title (str) -- プロットのタイトル文字列。
data_label (str) -- データ点に表示する凡例ラベル。
before_label (str) -- フィット前の曲線に表示する凡例ラベル。
after_label (str) -- フィット後の曲線に表示する凡例ラベル。
out_png (Optional[Union[str, Path]]) -- (オプション) プロットを保存するPNGファイルのパス。指定しない場合、ファイルは保存されません。
close (bool) -- プロットを閉じるかどうか。Trueの場合、`plt.close(fig)`が呼び出されます。 `show=True`の場合でも、明示的に閉じたい場合に利用します。
- 戻り値:
生成されたmatplotlibのFigureオブジェクトとAxesオブジェクト。
- 戻り値の型:
Tuple[matplotlib.figure.Figure, matplotlib.axes.Axes]
- regression.tklsq.tkplot.save_progress_plot(iteration: int, x: Sequence[float] | ndarray, y: Sequence[float] | ndarray, model_func: Callable[[ndarray, Mapping[str, float]], Sequence[float] | ndarray], p_before: Mapping[str, float], p_current: Mapping[str, float], *, out_dir: str | Path = '.', prefix: str = 'fit_progress', **kwargs) Path[ソース]
フィット途中の画像を保存します。主にコールバック関数からの呼び出しを想定しています。
フィットアルゴリズムの各イテレーションでのモデルの適合状況を視覚的に追跡するために、 指定されたディレクトリにPNG画像としてプロットを保存します。 ファイル名はイテレーション番号に基づいて自動的に生成され、進行状況を容易に確認できます。
- パラメータ:
iteration (int) -- 現在のフィットイテレーション番号。ファイル名に埋め込まれます。
x (ArrayLike) -- 観測データのx座標。
y (ArrayLike) -- 観測データのy座標。
model_func (Callable[[np.ndarray, Mapping[str, float]], ArrayLike]) -- モデル関数。y = model_func(x_array, params_dict) の形式で呼び出されます。
p_before (Mapping[str, float]) -- フィット開始前のモデルパラメータを含む辞書。プロットの「before」曲線に使用されます。
p_current (Mapping[str, float]) -- 現在のイテレーションにおけるモデルパラメータを含む辞書。プロットの「after」曲線に使用されます。
out_dir (Union[str, Path]) -- (オプション) 画像ファイルを保存する出力ディレクトリのパス。
prefix (str) -- (オプション) 保存される画像ファイルのプレフィックス。 ファイル名は prefix_0001.png のようになります。
kwargs -- plot_fit_before_after に渡される追加のキーワード引数。
- 戻り値:
保存された画像ファイルの完全なパス。
- 戻り値の型:
Path