ラベルと整え
このレッスンでできるようになること。タイトルと軸ラベルと単位を入れて、他人が見て分かる図に仕上げられるようになります。
ここまで描いてきた図は、自分で描いた直後なら意味が分かります。しかし1週間後の自分や、会議で初めて見る人には何も伝わりません。縦軸の数字が金額なのか数量なのか、単位が円なのか千円なのか、そもそも何の期間の話なのか。図に書いていないことは伝わらないと考えてください。
最低限入れるものは3つです。タイトル、縦軸のラベル、横軸のラベルです。系列が複数あるなら凡例も加えます。
Python
ax.set_title("店舗別の月次売上")
ax.set_xlabel("店舗")
ax.set_ylabel("売上金額(円)")単位はラベルに書きます。「売上金額」だけでは、その数字が円なのか千円なのか分かりません。桁が大きくて読みにくいときは、値を千円単位に割ってからラベルに「千円」と書きます。図の中の数字を勝手に変えたのに単位を書き換え忘れる、というのが最も危険な間違いです。
タイトルの付け方には、もう一段上の作法があります。「店舗別売上」のような内容の説明ではなく、「渋谷店が全体の5割を占める」のように、その図から読み取ってほしい結論を書く方法です。報告資料ではこちらのほうが伝わります。ただし結論を書く以上、図がその結論を支えていなければなりません。図と主張が食い違っていないかを、書いたあとに必ず見直します。
仕上げの小技も2つ紹介します。横軸のラベルが重なるときは ax.tick_params(axis="x", rotation=45) で傾けます。値の桁が大きくて軸が読みにくいときは、ax.grid(True, axis="y") で横線を入れると高さを追いやすくなります。どちらも図を賑やかにするためではなく、読む労力を減らすために使います。
設定した内容は、描いたあとにコードで読み返せます。ax.get_title()、ax.get_xlabel()、ax.get_ylabel() がそれぞれ設定した文字列を返します。図の仕上げも、目視ではなく確認できるということです。
要件
- groupby で店舗別に集計し、店舗名の昇順のまま棒グラフを描く
- set_title でタイトル、set_xlabel と set_ylabel で軸ラベルを設定する
- xlabel は 店舗、ylabel は 売上金額(円) にする
- title と軸ラベルは get_title などで読み返して返す
- heights は ax.patches から読み返す
入出力例
decorate_chart("売上日,店舗,商品名,カテゴリ,数量,金額
2026-01-05,渋谷店,白磁のマグカップ,食器,2,3600
2026-02-03,渋谷店,鋳物ホーロー鍋,調理器具,1,16800
2026-01-06,横浜店,鉄のフライパン,調理器具,1,7800
", "渋谷店が売上の大半を占める") → {"heights":[7800,20400],"title":"渋谷店が売上の大半を占める","xlabel":"店舗","ylabel":"売上金額(円)"}
decorate_chart("売上日,店舗,商品名,カテゴリ,数量,金額
2026-03-01,大宮店,積み重ね収納ボックス,収納,3,4500
2026-03-02,横浜店,布製収納バスケット,収納,2,3000
", "店舗別の売上") → {"heights":[4500,3000],"title":"店舗別の売上","xlabel":"店舗","ylabel":"売上金額(円)"}