Pythonでグラフ表示 matplotlib 〜折れ線グラフ、散布図、棒グラフとエラーバー〜

スポンサーリンク

前回のおさらい

前回、エラーバーの表示の仕方を解説しました。

Pythonでグラフ表示 matplotlib 〜エラーバー編〜
データの準備これまでmatplotlibに関して、折れ線グラフ、棒グラフ、散布図を解説してきました。今回はこれらのグラフにエラーバーを表示してみます。ただこれまで使ってきたデータはちょっとデ...

今回は折れ線グラフ、散布図、棒グラフに対して、エラーバーを表示させてみましょう。

まずは前回のおさらいから。

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=3, capthick=3)

plt.tick_params(labelsize=20)
plt.grid()

plt.show()

実行結果

エラーバーを表示しているのは、この部分。

plt.errorbar(x_value, y_value, xerr=x_error, yerr=y_error, linestyle=”None”, capsize=10, ecolor=”black”, linewidth=3, capthick=3)

x_value, y_valueのところが、X座標、Y座標、

xerr, yerrがX値、Y値に対するエラーの値、

linestyleが線の形状、

capsizeがキャップのサイズ、

ecolorが線の色、

linewidthが線の太さ、

capthickがキャップの線の太さ、でしたね。

今回もこのデータを基準として、いろいろといじっていきましょう。

スポンサーリンク

折れ線グラフとエラーバー

折れ線グラフに対して、エラーバーを乗せてみます。

折れ線グラフだと大体Y値に対するエラーバーのみを表示しますので、X値に対するエラーバー(xerr)は消します。

また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, yerr=y_error, capsize=10, ecolor="black", linewidth=3, capthick=3)

plt.tick_params(labelsize=20)
plt.grid()

plt.show()

実行結果

線の色を変えたり、点線にしたりのコマンドは折れ線グラフの変更方法と同じです。

Pythonでグラフ表示 matplotlib 〜線の太さ、色、点線〜
線の太さを変更する前回、折れ線グラフの全体の見栄えを調整する方法を解説しました。今度は線自体を色々変更して、見やすいグラフにしてみましょう。まずは前回のおさらいです。%matplotlib note...

線の色を変えるには、color=”線の色”

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, capsize=10, ecolor="black", linewidth=3, capthick=3, color="red")

plt.tick_params(labelsize=20)
plt.grid()

plt.show()

実行結果

線の種類を変えるには、linesytle=”線の種類”

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, capsize=10, ecolor="black", linewidth=3, capthick=3, color="red", linestyle=":")

plt.tick_params(labelsize=20)
plt.grid()

plt.show()

実行結果

このグラフに対して、凡例を表示することもできます。

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, capsize=10, ecolor="black", linewidth=3, capthick=3, color="red", linestyle=":", label="test")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

plt.errorbarのみで折れ線グラフを作ってもいいのですが、plt.plotとの組み合わせもプログラムが分かりやすくなって、個人的には好きです。

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.plot(x_value, y_value, linewidth=3, color="red", linestyle=":", label="test")
plt.errorbar(x_value, y_value, yerr=y_error, capsize=10, ecolor="black", capthick=3, linestyle="None")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果
スポンサーリンク

散布図とエラーバー

次に散布図にエラーバーを表示してみましょう。

線はいらないので、linestyle=”None”とします。

また点を表示したいので、marker=”o”を追加します。

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, capsize=10, ecolor="black", capthick=3, linestyle="None", marker="o", label="test")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

点の色や形を調整するのは、散布図の時と同じです。

Pythonでグラフ表示 matplotlib 〜散布図編〜
散布図を表示するこれまで折れ線グラフと棒グラフの表示方法を解説してきました。今回は散布図を表示する方法を解説していきます。前に使った折れ線グラフから散布図を作っていきますので、まずはおさらいから。...

点の形を変えるには、marker=”形状”。

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, capsize=10, ecolor="black", capthick=3, linestyle="None", marker="^", label="test")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

色を変えるには、color=”色の名前”を追加。

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, capsize=10, ecolor="black", capthick=3, linestyle="None", marker="^", color="red", label="test")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

ただしサイズを変更するのは異なり、ms=”サイズ”かもしくは、markersize=”サイズ”になります。

(散布図の時は、s=”サイズ”です)

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, capsize=10, ecolor="black", capthick=3, linestyle="None", marker="^", color="red", ms=10, label="test")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

折れ線グラフの時と同様、plt.scatterとplt.errorbarを別で書くことも可能です。

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.scatter(x_value, y_value, marker="^", color="red", s=100, label="test")
plt.errorbar(x_value, y_value, yerr=y_error, capsize=10, ecolor="black", capthick=3, linestyle="None")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()
スポンサーリンク

棒グラフとエラーバー

棒グラフのエラーバーを最後にしたのは、実は理由があります。

棒グラフはplt.errorbarを使わなくても、エラーバーを表示することができます。

その際には、plt.barにyerr=”エラーの値”を追加するだけです。

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.bar(x_value, y_value, yerr=y_error, label="test")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

こちらに対しても、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.bar(x_value, y_value, yerr=y_error, capsize=5, label="test")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

ただしこの場合、キャップサイズとエラーバーの色は変更できますが、太さは変更できないようです。

エラーバーの色を変えるには、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.bar(x_value, y_value, yerr=y_error, capsize=5, ecolor="red", label="test")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

棒グラフでplt.bar、plt.errorbarを分けて書くとこんな感じになります。

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.bar(x_value, y_value, label="test")
plt.errorbar(x_value, y_value, yerr=y_error, capsize=10, ecolor="black", capthick=3, linestyle="None")

plt.tick_params(labelsize=20)
plt.legend()
plt.grid()

plt.show()

実行結果

折れ線グラフ、散布図、棒グラフに対してエラーバーを表示するのに、plt.errorbarとplt.plot(折れ線グラフ)、plt.scatter(散布図)、plt.bar(棒グラフ)を分けて書くことにより、より細かく調整することができると考えると、やはり個人的には分けて書いた方があとあと使いやすいかなと思います。

これで2次元グラフはほぼ思い通り操れるようになったかと思います。

ちなみにmatplotlibでは2次元グラフだけでなく、3次元のグラフを描くことも可能です。

その解説に関してはこちらの記事をご覧ください。

Pythonで3Dグラフ表示 matplotlib,Axes3D 〜基本編〜
データの準備これまでmatplotlibでは2次元データを扱ってきました。しかし時には3次元データを使うなんてこともあるでしょう。今回は簡単にですが、3次元データのプロットの仕方を解説していきます。まずは3...

次回はPythonで日時を取得する方法を解説していきます。

Pythonで日時を取得 datetime 〜日時取得方法とフォーマットの変更方法〜
datetimeで日時を取得ファイル名を付けるとき、日時のファイル名にしたいことあると思います。そんなとき役に立つのがdatetimeモジュールです。このdatetimeモジュールは、標準モジュールのため、特にイン...

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

コメント

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