【matplotlib】matplotlibでエラーバー付きの折れ線グラフ

前回は単純な折れ線グラフを作成するコードをあげました。
今回はエラーバー付き折れ線グラフの作成方法を紹介します。

エラーバーをつけるときにはplot関数ではなくerrorbarメソッドを用います。

単純なエラーバー付きの折れ線グラフ

まず、以下のようなエラーバー付きの折れ線グラフを作成するソースコードを紹介します。

f:id:ttt242242:20190728121803p:plain

pyplot(plt)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = 2*x
yerr = np.full(len(x),0.3)

plt.errorbar(x, y, yerr=yerr)

object-oriented(ax, fig)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = 2*x
yerr = np.full(len(x),0.3)

fig,ax = plt.subplots()
ax.errorbar(x,y,yerr=yerr)

様々なエラーバー付きのグラフ

様々なエラーバー付きのグラフのサンプルコードを紹介します。

エラーバーを表示する間隔の設定

エラーバーを表示する間隔を変更する方法を紹介します。
具体的には以下のようなグラフです。

f:id:ttt242242:20190728145357p:plain

先程と異なり、エラーバーの間隔が広がっています。
間隔を開けるためにはerrorbar関数のerroreveryという引数で設定します。
上述したグラフをプロットするソースは以下のようになります。

pyplot(plt)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = 2*x
yerr = np.full(len(x),0.3)

plt.errorbar(x,y,yerr=yerr,errorevery=10)

object-oriented(ax, fig)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = 2*x
yerr = np.full(len(x),0.3)

fig,ax = plt.subplots()
ax.errorbar(x,y,yerr=yerr,errorevery=10)

エラーバーの色を変える

errorbar関数のecolor引数に設定することでエラーバーの色を変更できます。

f:id:ttt242242:20190728145414p:plain

pyplot(plt)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = 2*x
yerr = np.full(len(x),0.3)

plt.errorbar(x,y,yerr=yerr,ecolor="r")

object-oriented(ax, fig)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = 2*x
yerr = np.full(len(x),0.3)

fig,ax = plt.subplots()
ax.errorbar(x,y,yerr=yerr,ecolor="r")

エラーバーの線の太さを変更する

errorbar関数のelinewidth引数の値を変更することによって調整できます。

f:id:ttt242242:20190728145432p:plain

pyplot(plt)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = 2*x
yerr = np.full(len(x),0.3)

plt.errorbar(x,y,yerr=yerr,elinewidth=3.0)

object-oriented(ax, fig)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = 2*x
yerr = np.full(len(x),0.3)

fig,ax = plt.subplots()
ax.errorbar(x,y,yerr=yerr,elinewidth=3.0)

参考文献

matplotlib.pyplot.errorbar — Matplotlib 3.1.1 documentation

コメント

タイトルとURLをコピーしました