【matplotlib】エラーバー編[Python]

  • URLをコピーしました!
目次

データの準備

これまで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()

実行結果

これで大体、エラーバーを操れるようになったことでしょう。

今回紹介しきれませんでしたが、まだまだ色んなオプションがあるので、必要に応じて、解説していきたいと思います。

ということで今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次