「会議資料の説得力をもっと上げたい」「Excelグラフに限界を感じる」—そんな方へ。
本記事では、Pandas・Matplotlib・Seabornを使って、初心者でも短時間で見やすいグラフを作る方法を
実例コード付きで解説します。プレゼンやレポートで「伝わる」資料に仕上げましょう。
- ✅ 対象データ:売上・アンケート結果・顧客属性
- ✅ 作るグラフ:折れ線グラフ/ヒストグラム ほか
- ✅ ねらい:上司に評価される“読みやすい”レイアウト&色分け
目次
なぜ「Pythonで可視化」なのか
Excelは手軽ですが、データが増えると管理やデザインが大変。Pythonなら、
- Pandasでデータ抽出・加工が楽(CSV/Excel/DBから読み込み)
- Matplotlib / Seabornで美しく再現性のあるグラフを作成
- コード化により同じ手順を何度でも即再現(月次更新が一瞬)
「データ準備 → 可視化 → 出力」を一気通貫で自動化でき、会議直前の差し替えにも強いのが魅力です。
データの前提:売上・アンケート・顧客属性
この記事では下記のシンプルな例を扱います。
- 売上データ:月別の売上推移
- アンケート:1〜5点の満足度スコア
- 顧客属性:年代・地域など(割合の可視化に応用)
※ 実データでは前処理(欠損値・外れ値・異常値の確認)を先に行うと精度が上がります。
まずは基礎:環境準備と最短コード
必要ライブラリをインストール
# 必要であれば
pip install pandas matplotlib seaborn
売上の折れ線グラフ(Matplotlib)
import pandas as pd
import matplotlib.pyplot as plt
# サンプル売上データ
df = pd.DataFrame({
"月": ["1月","2月","3月","4月","5月","6月"],
"売上": [120, 150, 180, 130, 200, 240] # 単位:万円
})
# 折れ線グラフ
plt.plot(df["月"], df["売上"], marker="o") # ※色はデフォルトでOK(社内規定色があれば指定)
plt.title("月別売上推移")
plt.xlabel("月")
plt.ylabel("売上(万円)")
plt.tight_layout()
plt.savefig("sales_line.png", dpi=150)
plt.show()
ポイント:折れ線は「推移」を語るのに強い。節目(キャンペーン・改定)に縦線や注釈を入れると、より“意思決定に効く”図に。
アンケートのヒストグラム(Seaborn)
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
survey = np.random.randint(1, 6, 300) # 1〜5点のダミーデータ
sns.histplot(survey, bins=[1,2,3,4,5,6], discrete=True)
plt.title("顧客満足度スコア分布(1〜5)")
plt.xlabel("スコア")
plt.ylabel("人数")
plt.tight_layout()
plt.savefig("survey_hist.png", dpi=150)
plt.show()
ポイント:ヒストグラムは「ばらつき」を見せるのに最適。平均/中央値を補助線で示すと議論がスムーズに。
見やすいレイアウト&色分けのコツ(初心者向け)
- 1スライド=1メッセージ:伝えたい主語を明確に(例:「売上は右肩上がり」)
- 色は役割ごとに固定:売上=青、満足度=オレンジ、警告=赤 など
- ラベルと単位を必ず入れる:軸・凡例・単位(円/件/%)
- 読み順を意識:タイトル → グラフ → 注釈(結論)
- フォントサイズ:会議室の後方でも読める大きさに
応用:顧客属性の割合を可視化(棒グラフ)
import pandas as pd
import matplotlib.pyplot as plt
df_attr = pd.DataFrame({
"年代": ["10代","20代","30代","40代","50代以上"],
"割合": [5, 25, 35, 22, 13] # 単位:%
})
plt.bar(df_attr["年代"], df_attr["割合"])
plt.title("顧客年代構成比")
plt.xlabel("年代")
plt.ylabel("割合(%)")
# %表示の注釈(バー上)
for x, y in zip(df_attr["年代"], df_attr["割合"]):
plt.text(x, y + 1, f"{y}%", ha="center")
plt.ylim(0, max(df_attr["割合"]) + 10)
plt.tight_layout()
plt.savefig("customer_age_bar.png", dpi=150)
plt.show()
社内で配色ガイドラインがある場合は色を指定。なければデフォルトで十分(見出しと注釈で“意図”を補強)。
よくあるつまずきと回避策
- 日本語が豆腐(□)になる:OSに合った日本語フォントを指定(例:Noto Sans CJK)。
- 数値の桁や単位が伝わりにくい:「千円」「万円」「%」を必ず明示。桁区切り表示も。
- 色が多すぎる:意味がない色分けは避ける。2〜3色に抑える。
- グラフが小さく読みにくい:図のサイズ(figsize)やフォントサイズを上げる。
成果:資料の説得力が上がり、評価も向上
実際にこれらのグラフを会議資料に盛り込むと、上司からは「数字の羅列より断然わかりやすい」「意思決定が早くなる」と好評でした。とくにヒストグラムで満足度の分布を見せた場面では、「改善すべき層」が明確になり、施策の議論が進みました。
まとめ:最小構成で“伝わる”資料を
- Pythonなら数行のコードで再現性のあるグラフが作れる
- Pandas+Matplotlib+Seabornが初心者の最短ルート
- 色・ラベル・注釈を整えるだけで説得力が段違い
まずは折れ線グラフとヒストグラムから。月次の更新も楽になり、会議の“質”が変わります。