エラーバー付きグラフの描画
errorbar関数のyerrオプションとxerrオプションを設定することで、それぞれy軸、x軸方向のエラーバー付きグラフを表示することができます。
グラフ表示するデータの準備
表示させるグラフのデータは、以下の通りです。モジュールのインポートも一緒に実行しています。
import matplotlib.pyplot as plt import numpy as np x = np.arange(10) y = 2.5 * np.sin(x / 20 * np.pi)
以下の例では、subplots関数を用いてグラフオブジェクトを生成しています。subplots関数を用いたグラフの描画については、以下の記事を参照してください。
エラー値が一定の場合
エラー値が一定の場合は、yerrオプションやxerrオプションに値を渡すだけでエラーバーの表示が可能です。
例として、y軸方向にエラーバーを表示させます。
fig, ax = plt.subplots()
ax.errorbar(x, y, yerr=0.5)
出力:

同様に、x軸方向にエラーバーを表示させます。
fig, ax = plt.subplots()
ax.errorbar(x, y, xerr=0.5)
出力:

各プロット箇所に一定のエラーバーが追加されました。
エラー値をポイントごとに設定する場合
エラー値が一定ではなく、各プロット箇所ごとに設定したい場合は、プロットデータと同じ長さにしたエラーバー用のデータを準備し、yerrまたはxerrオプションに渡します。
yerr = np.linspace(0.05, 0.2, 10) fig, ax = plt.subplots() ax.errorbar(x, y, yerr=yerr)
出力:

エラーバーを片側だけ表示
uplimsオプション、またはlolimsオプションをTrueに設定すると、エラーバーを片側だけ表示することができます。
uplimsをTrueにするとエラーバーの下側のみが表示され、lolimsをTrueにすると上側のみが表示されます。両方をTrueにすると、両方とも表示されます。
また、これらのオプションを使用すると、エラーバーの先端に「^」が追加されます。
yerr = np.linspace(0.05, 0.2, 10) fig, ax = plt.subplots() ax.errorbar(x, y+2, yerr=yerr, label="uplims", uplims=True) ax.errorbar(x, y+1, yerr=yerr, label="lolims", lolims=True) ax.errorbar(x, y, yerr=yerr, label="both", uplims=True, lolims=True) ax.legend()
出力:

エラーバーのキャップ長の設定
エラーバーの先端に、エラーバーに対して垂直方向にキャップを表示することができます。
キャップを表示させたい場合は、capsizeオプションでキャップ長さを設定します。
yerr = np.linspace(0.05, 0.2, 10) fig, ax = plt.subplots() ax.errorbar(x, y, yerr=yerr, capsize=3)
出力:
