データの準備
これまでmatplotlibに関して、折れ線グラフ、棒グラフ、散布図を解説してきました。



今回はこれらのグラフにエラーバーを表示してみます。
ただこれまで使ってきたデータはちょっとデータポイントが多いので、新しいデータを使うことにします。
またX軸方向、Y軸方向の両方にエラーバーを表示させたいので、まずは散布図として表示します。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
fig=plt.figure(figsize=(8,6))
plt.scatter(x_value, y_value, s=100)
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

だいぶシンプルなデータですが、このデータにエラーバーを付け加えてみましょう。
エラーバーを追加する
エラーバーを追加するには、エラーバー用のデータが必要になります。
そこで、x_error、y_errorというデータを含んだリストを追加しました。
エラーバーはplt.errorbar(X軸の座標のリスト, Y軸の座標のリスト, xerr=X軸のエラーバーのリスト, yerr=Y軸のエラーバーのリスト)で追加できます。
まずはX軸方向のみ表示してみましょう。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
x_error = [0.1, 0.2, 0.3, 0.4, 0.5]
y_error = [5, 10, 15, 20, 25]
fig=plt.figure(figsize=(8,6))
plt.errorbar(x_value, y_value, xerr=x_error)
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

次にY軸方向のみエラーバーを表示してみます。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
x_error = [0.1, 0.2, 0.3, 0.4, 0.5]
y_error = [5, 10, 15, 20, 25]
fig=plt.figure(figsize=(8,6))
plt.errorbar(x_value, y_value, yerr=y_error)
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

最後にX軸方向、Y軸方向の両方にエラーバーを表示してみます。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
x_error = [0.1, 0.2, 0.3, 0.4, 0.5]
y_error = [5, 10, 15, 20, 25]
fig=plt.figure(figsize=(8,6))
plt.errorbar(x_value, y_value, xerr=x_error, yerr=y_error)
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

エラーバーは表示できたのですが、綺麗なグラフではないですよね。
散布図がいつの間にか折れ線グラフになっていますし、エラーバーの色もグラフの色と被ってしまっています。
さらにエラーバーの端に小さなバーがありません。
このグラフを元にさらに色々いじってみましょう。
ラインを消す
今回はエラーバーの解説なので、データポイントの間を繋げている線はいりません。
そこで線を消してみましょう。
そのためにはplt.errorbar()に linestyle=”None”を追加します。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
x_error = [0.1, 0.2, 0.3, 0.4, 0.5]
y_error = [5, 10, 15, 20, 25]
fig=plt.figure(figsize=(8,6))
plt.errorbar(x_value, y_value, xerr=x_error, yerr=y_error, linestyle="None")
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

無事、エラーバーだけになりました。
キャップをつける
エラーバーには、末端に線がついていることがありますよね。
これを表示するには、plt.errorbar()にcapsize=サイズ を追加します。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
x_error = [0.1, 0.2, 0.3, 0.4, 0.5]
y_error = [5, 10, 15, 20, 25]
fig=plt.figure(figsize=(8,6))
plt.errorbar(x_value, y_value, xerr=x_error, yerr=y_error, linestyle="None", capsize=10)
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

色を変える
グラフにエラーバーを表示する時、同じ色だと分かりにくいということもあるでしょう。
そこで、エラーバーの色の変えてみましょう。
色を変えるには、plt.errorbar()にecolor = “色” を追加します。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
x_error = [0.1, 0.2, 0.3, 0.4, 0.5]
y_error = [5, 10, 15, 20, 25]
fig=plt.figure(figsize=(8,6))
plt.errorbar(x_value, y_value, xerr=x_error, yerr=y_error, linestyle="None", capsize=10, ecolor="black")
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

色の指定方法は、線の色を変えるのと同じで、色の名前で指定する方法、色の名前の略語で指定する方法、カラーコードで指定する方法があります。

線の太さを変える
エラーバーの線が細いと、グラフと被ってしまい、分かりにくい時もあることでしょう。
エラーバーの線の太さを変えるには、plt.errorbar()にwidth=線の太さ を追加します。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
x_error = [0.1, 0.2, 0.3, 0.4, 0.5]
y_error = [5, 10, 15, 20, 25]
fig=plt.figure(figsize=(8,6))
plt.errorbar(x_value, y_value, xerr=x_error, yerr=y_error, linestyle="None", capsize=10, ecolor="black", linewidth=10)
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

キャップの線の太さを変える
上の例では、エラーバーの線の太さは変わりましたが、キャップの線の太さは変わりません。
これはまた別のコマンドが存在します。
キャップの線の太さを変えるには、plt.errorbar()にcapthick=線の太さ を追加します。
x_value = [1, 2, 3, 4, 5]
y_value = [10, 20, 40, 80, 160]
x_error = [0.1, 0.2, 0.3, 0.4, 0.5]
y_error = [5, 10, 15, 20, 25]
fig=plt.figure(figsize=(8,6))
plt.errorbar(x_value, y_value, xerr=x_error, yerr=y_error, linestyle="None", capsize=10, ecolor="black", linewidth=10, capthick=10)
plt.tick_params(labelsize=20)
plt.grid()
plt.show()
実行結果

これで大体、エラーバーを操れるようになったことでしょう。
今回紹介しきれませんでしたが、まだまだ色んなオプションがあるので、必要に応じて、解説していきたいと思います。

ということで今回はこんな感じで。
コメント