【Matplotlib】縦棒グラフを2段表示

この記事では、Python向けグラフ描画ライブラリ「Matplotlib」を用いて、棒グラフを2段表示する方法を紹介します。

縦棒グラフ(複数)

Matplotlibモジュールには、縦棒グラフを作成するbarメソッドが用意されています。
このメソッドの引数bottomを用いることで、縦棒の底の座標を移動させることができます。
今回は、これを用いて複数データを縦に重ねて並べ、棒グラフで表示してみました。

【書式】

matplotlib.pyplot.bar(x座標のリスト, y座標のリスト, bottom=底のy座標, color=色,  width=棒の幅, label=凡例ラベル, align=表示位置)

公式ドキュメント

ソースコード

サンプルプログラムのソースコードです。

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x1 = [1, 2, 3]
y1 = [4, 5, 6]

x2 = [1, 2, 3]
y2 = [1, 1, 1]

label_x = ['Result1', 'Result2', 'Result3']

# 1つ目の棒グラフ
plt.bar(x1, y1, color='b', width=0.3, label='Data1', align="center")
# 2つ目の棒グラフ
plt.bar(x2, y2, color='g', bottom=y1,width=0.3, label='Data2', align="center")

# 凡例
plt.legend(loc=2)

# X軸の目盛りを置換
plt.xticks(x1, label_x)
plt.show()

関連記事
1 【Python入門】サンプル集・使い方
2 【Matplotlibとは】インストール方法

コメント