Matplotlib による対数オッド比スケールのプロット作成

PythonPythonBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Matplotlib で対数オッド比軸付きのプロットを作成する方法を学びます。対数オッド比軸は、確率プロットで一般的に使用され、分布の累積分布関数 (CDF) を表すために使用されます。この実験では、mathnumpy、および matplotlib.pyplot ライブラリを使用します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して練習します。

場合によっては、Jupyter Notebook が読み込み完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリをインポートしてデータを設定する

mathnumpy、および matplotlib.pyplot ライブラリをインポートし、プロット用のデータを設定します。

import math
import numpy as np
import matplotlib.pyplot as plt

xmax = 10
x = np.linspace(-xmax, xmax, 10000)
cdf_norm = [math.erf(w / np.sqrt(2)) / 2 + 1 / 2 for w in x]
cdf_laplacian = np.where(x < 0, 1 / 2 * np.exp(x), 1 - 1 / 2 * np.exp(-x))
cdf_cauchy = np.arctan(x) / np.pi + 1 / 2

対数オッド比スケールと標準表記でプロットを作成する

対数オッド比スケールと標準表記でプロットを作成します。これは、set_yscale("logit") を使用して y 軸のスケールを対数オッド比に設定し、set_ylim() を使用して y 軸の範囲を設定することで行えます。また、plot() を使用して正規分布、ラプラス分布、コーシー分布の累積分布関数をプロットし、legend() を使用して凡例を追加します。

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.set_yscale("logit")
axs.set_ylim(1e-5, 1 - 1e-5)
axs.legend()
axs.grid()

plt.show()

対数オッド比スケールと生存表記でプロットを作成する

対数オッド比スケールと生存表記でプロットを作成します。これは、y軸のスケールを対数オッド比に設定し、set_yscale("logit", one_half="1/2", use_overline=True)" を使用して one_half パラメータを "1/2" に、use_overline パラメータを True に設定することで行えます。また、plot() を使用して正規分布、ラプラス分布、コーシー分布の累積分布関数をプロットし、legend() を使用して凡例を追加します。

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.set_yscale("logit", one_half="1/2", use_overline=True)
axs.set_ylim(1e-5, 1 - 1e-5)
axs.legend()
axs.grid()

plt.show()

線形スケールでプロットを作成する

線形スケールでプロットを作成します。これは、plot() を使用して正規分布、ラプラス分布、コーシー分布の累積分布関数を単にプロットし、legend() を使用して凡例を追加することで行えます。

fig, axs = plt.subplots(nrows=1, ncols=1, figsize=(6.4, 4.8))

axs.plot(x, cdf_norm, label=r"$\mathcal{N}$")
axs.plot(x, cdf_laplacian, label=r"$\mathcal{L}$")
axs.plot(x, cdf_cauchy, label="Cauchy")
axs.legend()
axs.grid()

plt.show()

まとめ

この実験では、Matplotlib で対数オッド比軸を持つプロットを作成する方法を学びました。対数オッド比スケールと標準表記、対数オッド比スケールと生存表記、および線形スケールでプロットを作成しました。この実験では、mathnumpy、および matplotlib.pyplot ライブラリを使用しました。