わたしはシステム開発では結構なベテランですが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')
コメント