Python でグラフに誤差範囲を追加する方法
測定値や計算値の不確実性を把握するために、Python のグラフに誤差範囲を追加することがよくあります。幸いなことに、これは matplotlib ライブラリを使用して簡単に行うことができます。
このチュートリアルでは、Python で棒グラフと折れ線グラフに誤差範囲を追加する方法を説明します。
棒グラフの誤差範囲
Python に次の 10 個の値のデータ セットがあるとします。
import numpy as np import matplotlib.pyplot as plt #define dataset data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]
このデータセットの誤差範囲を含む棒グラフを作成するには、誤差範囲の幅を標準誤差として設定できます。これは、
標準誤差 = s / √n
金:
- s:サンプルの標準偏差
- n:サンプルサイズ
次のコードは、この例の標準誤差を計算する方法を示しています。
#calculate standard error std_error = np.std(data, ddof=1) / np.sqrt(len(data)) #view standard error std_error 1.78
最後に、標準誤差と等しい幅を持つ誤差範囲を使用して棒グラフを作成できます。
#define chart fig, ax = plt.subplots() #create chart ax.bar(x=np.arange(len(data)), #x-coordinates of bars height=data, #height of bars yerr=std_error, #error bar width capsize=4) #length of error bar caps
標準誤差は1.78であることがわかりました。これは、グラフ上の点推定値からいずれかの方向に伸びる誤差範囲の幅です。たとえば、グラフの最初のバーの値は 4 であるため、次の範囲から伸びる誤差バーがあります。
- 下限: 4 – 178 = 2.22
- トップエンド: 4 + 1.78 = 5.78
グラフ内の各誤差バーは同じ幅です。
折れ線グラフのエラーバー
次のコードは、同じデータ セットに対して誤差範囲を含む折れ線グラフを作成する方法を示しています。
import numpy as np import matplotlib.pyplot as plt #define data data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20] #define x and y coordinates x = np.arange(len(data)) y = data #create line chart with error bars fig, ax = plt.subplots() ax.errorbar(x, y, yerr=std_error, capsize=4)
yerr引数は、Python に垂直誤差範囲を作成するように指示することに注意してください。代わりに、 xerr引数を使用して水平垂直バーを使用することもできます。
#create line chart with horizontal error bars fig, ax = plt.subplots() ax.errorbar(x, y, xerr =std_error, capsize=4)
その他の Python チュートリアルはここで見つけることができます。