注釈、テキスト、基準線
ax.annotate で重要な値を指し示し、ax.text でメモを加え、axhline で目標を示します。
はじめに
良いグラフは、どこを見ればよいかを読み手に伝えます。ax.annotate はデータ点を指す矢印付きのラベルを書き、ax.text は好きな位置に文字を置き、ax.axhline や ax.axvline は平均や目標などの基準線を引きます。
xy は矢印が指す点、xytext はラベルを置く位置で、arrowprops が矢印を描きます。文字のカテゴリーを並べたグラフでは x の位置は 0、1、2... となるので、最高の月は x = best にあります。axhline はグラフ全体に平均線を引き、ax.text はその破線の意味を説明します。
インタラクティブ ビジュアライザー
注釈を付ける点を選び、矢印と平均線を消して、各部分をどのコード行が描いているか確かめましょう。
実行できる Matplotlib の例
Matplotlib
main.py
import matplotlib.pyplot as plt
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
sales = [12, 15, 14, 22, 19, 17]
best = sales.index(max(sales))
average = sum(sales) / len(sales)
fig, ax = plt.subplots(figsize=(7, 4))
ax.plot(months, sales, marker="o")
ax.annotate(f"Best month: {sales[best]}k", xy=(best, sales[best]), xytext=(best + 0.5, sales[best] + 1.5),
arrowprops=dict(arrowstyle="->"))
ax.axhline(average, color="gray", linestyle="--")
ax.text(0, average + 0.4, f"average {average:.1f}k", color="gray")
ax.set_ylim(10, 25)
ax.set_title("Sales by month")
plt.show()
