Pythonでグラフ 棒グラフ その2

python

わたしはシステム開発では結構なベテランですがWEBアプリやPythonは勉強中の身です。いっしょに勉強してゆきましょう。

開発環境は

Docker + VisualStudio Code で快適な Jupyter 環境をつくる 

ここで紹介しました、VSCode上のJupyterを使います。この環境には

numpy matplotlib pandas 

がインストールされています。これらのライブラリを使ったグラフを試してみましょう。

前回からのつづきで、複数の棒グラフを描いてみましょう。まずは、ならべて描く


import matplotlib.pyplot as plt
import numpy as np

# データ
labels = ['地域1', '地域2', '地域3', '地域4', '地域5']
Z_means = [20, 34, 30, 35, 27]
X_means = [25, 32, 34, 20, 25]


x = np.arange(len(labels))  # X軸のラベル表示のための数列をつくる
width = 0.35  # 棒グラフの幅

# 2つの棒グラフをセット
fig, ax = plt.subplots()
rects1 = ax.bar(x - width/2, Z_means, width, label='Z世代')
rects2 = ax.bar(x + width/2, X_means, width, label='X世代')

# タイトル、x軸y軸ラベル
ax.set_ylabel('件数')
ax.set_title('複数の棒グラフ')
ax.set_xticks(x, labels)  # 目盛りではなく、ラベルをつける
ax.legend()

# 棒グラフの上に数値を表示
ax.bar_label(rects1, padding=3)
ax.bar_label(rects2, padding=3)

# 凡例の表示
fig.tight_layout()

#plt.show()
plt.savefig('barTest3.png')

 

つぎに、積み重ねて描くと



import matplotlib.pyplot as plt

# データ
labels = ['地域1', '地域2', '地域3', '地域4', '地域5']
Z_means = [20, 34, 30, 35, 27]
X_means = [25, 32, 34, 20, 25]

width = 0.35  # 棒グラフの幅

# 2つの棒グラフを重ねてセット X軸のラベルもセット
fig, ax = plt.subplots()
p1 = ax.bar(labels, Z_means, width, label='Z世代')
p2 = ax.bar(labels, X_means, width, bottom=Z_means,
       label='X世代')

# 棒グラフの中に数値を表示
ax.bar_label(p1, label_type='center')
ax.bar_label(p2, label_type='center')

# タイトル、x軸y軸ラベル
ax.set_ylabel('件数')
ax.set_title('複数の棒グラフ(積み重ね)')
ax.legend()

# plt.show()
plt.savefig('barTest4.png')


 

matplotlib 公式サイト

 

次の記事

コメント

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