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 

Python の誤差範囲を含む棒グラフ

標準誤差は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) 

Python でのエラーバー付き折れ線グラフ

yerr引数は、Python に垂直誤差範囲を作成するように指示することに注意してください。代わりに、 xerr引数を使用して水平垂直バーを使用することもできます。

 #create line chart with horizontal error bars
fig, ax = plt.subplots()

ax.errorbar(x, y,
            xerr =std_error,
            capsize=4) 

Python チャートの誤差範囲

その他の Python チュートリアルはここで見つけることができます。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です