# matplotlib.pyplot.bar の概要

matplotlib には、棒グラフを描画するメソッドとして、matplotlib.pyplot.barが用意されてます。

# matplotlib.pyplot.bar の使い方

matplotlib.pyplot.bar(left, height, width=0.8, bottom=None, hold=None,data=None, **kwargs)
left (必須) 各棒の X 軸上の数値
height (必須) 各棒の高さ
width 棒の太さ (デフォルト値: 0.8)
bottom 各棒の下側の余白。(主に積み上げ棒グラフを出力するために使います)
color 棒の色。
edgecolor 棒の枠線の色
linewidth 棒の枠線の太さ。
tick_label X 軸のラベル
xerr X 軸方向のエラーバー (誤差範囲) を出力する場合、数値または配列を指定。
yerr Y 軸方向のエラーバー (誤差範囲) を出力する場合、数値または配列を指定。
ecolor エラーバーの色を値または配列で指定。
capsize エラーバーの傘のサイズを指定。
align 棒の位置。’edge’ (垂直方向の場合:左端, 水平方向の場合:下端) または ‘center’ (中央)を指定。 (デフォルト値: ‘edge’ )
log True に設定すると、対数目盛で出力します。 (デフォルト値: False)

# 基本的な棒グラフの出力例

# 5 本の棒を出力

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height)

bargraph

# 幅=1.0に設定 (=棒と棒の隙間を表示しない)

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, width=1.0)

bargraph

# 棒の色を緑色 (#E4CF5B) に設定し、枠線を非表示

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color="#E4CF5B", linewidth=0)

bargraph

# 棒の色、枠線の色、太さを設定

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, color="#646464", edgecolor="#535353", linewidth=4)

bargraph

# 棒の位置を中央に設定

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, align="center")

bargraph

# 横軸に文字列のラベルを指定

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
label = ["AAA", "BBB", "CCC", "DDD", "EEE"]
plt.bar(left, height, tick_label=label, align="center")

bargraph

# タイトル、X 軸、Y 軸のラベルを出力

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, tick_label=label, align="center")
plt.title("This is a title")
plt.xlabel("x axis")
plt.ylabel("y axis")
plt.grid(True)

bargraph

# エラーバー (誤差範囲) を表示する

# X 軸方向のエラーバーを一律 0.5 で赤色 (red) で表示

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, xerr=0.5, ecolor="red")

bargraph

# Y 軸方向のエラーバーを黒色 (black) で表示

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
yerr = np.array([10, 20, 30, 40, 50])
plt.bar(left, height, yerr=yerr, ecolor="black")

bargraph

# Y 軸方向のエラーバーを傘のサイズ 10 で表示

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([100, 200, 300, 400, 500])
plt.bar(left, height, yerr=25, ecolor="black", capsize=10)

bargraph

# Y 軸を対数目盛で表示

import numpy as np
import matplotlib.pyplot as plt
 
left = np.array([1, 2, 3, 4, 5])
height = np.array([200, 2000, 20000, 200000, 2000000])
plt.bar(left,height, log=True)

bargraph

Profile Image

コリPy

@taida_python

奈良

Python好きの個人開発者。プログラミング3年生。Pythonを現在学習中。日々、アウトプットするためにTwitterはじめました。