《matplotlib》.bar( X座標 , Y座標 )引数には、描画するグラフのX座標とY座標のデータをリストなどにまとめたものを用意します。またplotメソッドと同様、凡例に表示するラベルをlabel引数で指定することもできます。
x1 = [0, 2, 4, 6, 8]このようにして、2つのグラフが偶数値と奇数値に1つずつずれて表示されるようにすることで、2つの棒グラフを並べて表示させているわけです。同様に、X軸の位置を調整すれば3つでも4つでも並べて表示できます。
x2 = [1, 3, 5, 7, 9]
# x = [0, 1, 2, 3, 4]ここでは、1回目のbarで普通に棒グラフを描いています。そして2回目のbarのとき、bottomという引数で、1回目の棒グラフのデータy1を引数に指定しています。このbottomは、描画するグラフの下位置を示します。これに、1回目の棒グラフのデータを指定することで、2回目の棒グラフは、1回目の棒の上端から描き足されるようになるのです。
plt.bar(x, y1, tick_label=data, label='A')
plt.bar(x, y2, label='B',bottom=y1)
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
import numpy as np import matplotlib.pyplot as plt x1 = [0, 2, 4, 6, 8] x2 = [1, 3, 5, 7, 9] y1 = np.array([np.random.randint(100) + 50 for i in range(5)]) y2 = np.array([np.random.randint(100) + 50 for i in range(5)]) data = ['A', 'B', 'C', 'D', 'E'] plt.bar(x1, y1, tick_label=data, label='A') plt.bar(x2, y2, label='B') plt.title = 'sample bar' plt.legend() plt.show()
次へ >> |