導入
棒グラフは、カテゴリ間の大小の比較が得意です。商品ごとの売上、地域ごとの人口などに向いています。
説明
plt.bar(ラベル, 値) で棒グラフになります。ラベルには文字列のリストを渡せます。
import matplotlib.pyplot as plt
products = ["Apple", "Orange", "Grape", "Peach"]
sales = [300, 180, 420, 260]
plt.bar(products, sales, color="teal")
plt.title("Sales by Product")
plt.ylabel("sales")
plt.show()
pandas の集計結果は、そのまま棒グラフに渡せます。groupby の結果を可視化する定番パターンです。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
"team": ["A", "B", "A", "B", "C"],
"score": [80, 60, 90, 70, 100],
})
avg = df.groupby("team")["score"].mean()
print(avg)
plt.bar(avg.index, avg.values, color="orange")
plt.title("Average Score by Team")
plt.show()
avg.index(チーム名)と avg.values(平均点)を bar に渡すだけ。集計と可視化がつながりました。
やってみよう
plt.bar を plt.barh に変えると、横向きの棒グラフになります。項目名が長いときに便利です。
演習
{"Mon": 120, "Tue": 200, "Wed": 150} の売上を棒グラフにしてください(キーをラベル、値を高さに)。タイトルは "weekly"。
ヒント1を見る
plt.bar(["Mon","Tue","Wed"], [120,200,150]) → plt.title("weekly") → plt.show()。