Claude Code × python-pptx でインフォグラフィックスライドを自動生成する

Claude Code×matplotlib×python-pptxでデータからインフォグラフィックを自動生成する方法を解説。SNS用・プレゼン用を同時出力。アイコン・数値・カラーバーを組み合わせたプロ品質。デザイン知識不要。コード付き。

この記事をシェア:
目次 クリックで開く

📅 2025年10月 | ⏱ 読了約8分 | 🏷 Claude Code・業務自動化

数値データからビジュアルリッチなインフォグラフィックを python-pptx で自動生成。アイコン・円グラフ・進捗バーを組み合わせた視覚的なスライドを量産。

インフォグラフィックスライドデモ
📊 Claude Code 生成デモ

インフォグラフィックスライドデモ

↑ Claude Code が自動生成した実際の成果物サンプル。このクオリティが数分で完成します。

インフォグラフィック自動化の背景

📌 この記事で実現できること

  • インフォグラフィック自動生成の完全自動化を実現するPythonスクリプトを5ステップで解説
  • 「デザイナー外注費・手動作成の工数」という課題を根本から解消する
  • Claude Codeへの自然言語指示だけでスクリプトを生成できる
  • 月・週・日単位の定期実行で完全無人化を実現する方法も紹介

以下のステップを順番に実行することで、今日から業務自動化を始められます。コピーして使えるコードと、Claude Codeへの指示文をセットで解説します。

データをビジュアルで伝えるインフォグラフィックは、手作業での作成に時間がかかります。Claude Code + python-pptx を使えば、数値データを読み込んでインフォグラフィックスライドを自動生成できます。広報・IR・社内報告でのビジュアル資料作成時間を大幅に削減します。

ステップ1:KPIサークルと数値ブロックを自動配置

💬 Claude Code へのプロンプトKPI数値(売上・顧客数・満足度スコア)を
大きな数字+アイコン付きのインフォグラフィックスライドとして
python-pptxで自動生成するスクリプトを作成して
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN

prs = Presentation()
prs.slide_width  = Inches(13.33)
prs.slide_height = Inches(7.5)
slide = prs.slides.add_slide(prs.slide_layouts[6])  # 白紙

ORANGE = RGBColor(0xE8, 0x52, 0x0A)
DARK   = RGBColor(0x1A, 0x1A, 0x2E)
GRAY   = RGBColor(0xF2, 0xF2, 0xF2)

# 背景
bg = slide.shapes.add_shape(1, 0, 0, prs.slide_width, prs.slide_height)
bg.fill.solid(); bg.fill.fore_color.rgb = GRAY
bg.line.fill.background()

# タイトル
title = slide.shapes.add_textbox(Inches(0.5), Inches(0.3), Inches(12), Inches(0.7))
tf = title.text_frame
tf.text = "2025年度 Q3 KPIダッシュボード"
tf.paragraphs[0].runs[0].font.size = Pt(24)
tf.paragraphs[0].runs[0].font.bold = True
tf.paragraphs[0].runs[0].font.color.rgb = DARK

# KPIカード x3
kpis = [
    {"icon": "💰", "label": "売上高",   "value": "¥384M", "sub": "目標比 +8%",  "x": 0.5},
    {"icon": "👥", "label": "顧客数",   "value": "2,847", "sub": "前期比 +12%", "x": 4.8},
    {"icon": "⭐", "label": "満足度",   "value": "4.7",   "sub": "5点満点",     "x": 9.1},
]
for kpi in kpis:
    # カード背景
    card = slide.shapes.add_shape(1, Inches(kpi["x"]), Inches(1.3),
                                   Inches(3.7), Inches(4.5))
    card.fill.solid(); card.fill.fore_color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
    card.line.color.rgb = RGBColor(0xE0, 0xE0, 0xE0)

    # アクセントバー
    bar = slide.shapes.add_shape(1, Inches(kpi["x"]), Inches(1.3), Inches(3.7), Inches(0.1))
    bar.fill.solid(); bar.fill.fore_color.rgb = ORANGE
    bar.line.fill.background()

    # アイコン
    icon_box = slide.shapes.add_textbox(Inches(kpi["x"]+0.1), Inches(1.5), Inches(3.5), Inches(0.8))
    icon_box.text_frame.text = kpi["icon"]
    icon_box.text_frame.paragraphs[0].runs[0].font.size = Pt(32)
    icon_box.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER

    # 数値
    val_box = slide.shapes.add_textbox(Inches(kpi["x"]+0.1), Inches(2.4), Inches(3.5), Inches(1.2))
    val_tf = val_box.text_frame
    val_tf.text = kpi["value"]
    run = val_tf.paragraphs[0].runs[0]
    run.font.size = Pt(36); run.font.bold = True; run.font.color.rgb = DARK
    val_tf.paragraphs[0].alignment = PP_ALIGN.CENTER

    # ラベル
    lbl_box = slide.shapes.add_textbox(Inches(kpi["x"]+0.1), Inches(3.7), Inches(3.5), Inches(0.5))
    lbl_tf = lbl_box.text_frame
    lbl_tf.text = kpi["label"]
    lbl_tf.paragraphs[0].runs[0].font.size = Pt(14)
    lbl_tf.paragraphs[0].runs[0].font.color.rgb = RGBColor(0x80, 0x80, 0x80)
    lbl_tf.paragraphs[0].alignment = PP_ALIGN.CENTER

    # サブテキスト
    sub_box = slide.shapes.add_textbox(Inches(kpi["x"]+0.1), Inches(4.3), Inches(3.5), Inches(0.4))
    sub_tf = sub_box.text_frame
    sub_tf.text = kpi["sub"]
    sub_tf.paragraphs[0].runs[0].font.size = Pt(11)
    sub_tf.paragraphs[0].runs[0].font.color.rgb = ORANGE
    sub_tf.paragraphs[0].alignment = PP_ALIGN.CENTER

prs.save("インフォグラフィック.pptx")
print("KPIインフォグラフィック生成完了")
✅ 実行結果

3つのKPIカードが均等配置されたインフォグラフィックスライドを自動生成。デザイン作業(2時間)がスクリプト実行5秒に。

😫 Before ─ よくある課題

KPIレポートのスライドを毎月デザインツールで一から作成。数値の更新と再デザインに半日以上かかっていた。

✅ After ─ Claude Code で解決

JSONデータをpython-pptxに渡すだけでKPIカード・ドーナツ・棒グラフを自動配置。月次更新が数秒に。

ステップ2:円グラフインフォグラフィックを自動生成

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.chart.data import ChartData
from pptx.enum.chart import XL_CHART_TYPE
from pptx.dml.color import RGBColor

prs = Presentation()
prs.slide_width  = Inches(13.33)
prs.slide_height = Inches(7.5)
slide = prs.slides.add_slide(prs.slide_layouts[6])

# ドーナツチャートデータ
chart_data = ChartData()
chart_data.categories = ["営業部", "製品部", "管理部", "開発部", "その他"]
chart_data.add_series("売上構成", [38, 27, 15, 12, 8])

chart = slide.shapes.add_chart(
    XL_CHART_TYPE.DOUGHNUT, Inches(0.5), Inches(1.0),
    Inches(6.0), Inches(6.0), chart_data
).chart
chart.has_legend = True
chart.has_title  = True
chart.chart_title.text_frame.text = "部門別売上構成比"

# 凡例・テキストを右側に配置
items = [("営業部","38%","#E8520A"), ("製品部","27%","#404040"),
         ("管理部","15%","#BFBFBF"), ("開発部","12%","#808080"), ("その他","8%","#F2F2F2")]
for i, (label, pct, color) in enumerate(items):
    box = slide.shapes.add_textbox(Inches(7.0), Inches(1.5 + i*0.9), Inches(5.5), Inches(0.7))
    tf = box.text_frame
    tf.text = f"● {label}  {pct}"
    tf.paragraphs[0].runs[0].font.size = Pt(14)

prs.save("円グラフインフォグラフィック.pptx")
print("ドーナツグラフスライド生成完了")
✅ 実行結果

ドーナツグラフ+凡例テキストのインフォグラフィックを自動生成。広報資料・IR資料作成が高速化。

ステップ3:データ駆動で複数スライドを一括生成

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
import json

with open("infographic_data.json", encoding="utf-8") as f:
    slides_data = json.load(f)

prs = Presentation()
prs.slide_width  = Inches(13.33)
prs.slide_height = Inches(7.5)

ORANGE = RGBColor(0xE8, 0x52, 0x0A)
DARK   = RGBColor(0x1A, 0x1A, 0x2E)

for data in slides_data:
    slide = prs.slides.add_slide(prs.slide_layouts[6])
    # タイトル
    tb = slide.shapes.add_textbox(Inches(0.5), Inches(0.3), Inches(12), Inches(0.7))
    tb.text_frame.text = data["title"]
    tb.text_frame.paragraphs[0].runs[0].font.size = Pt(22)
    tb.text_frame.paragraphs[0].runs[0].font.bold = True

    # KPI値を自動配置
    for i, kpi in enumerate(data["kpis"]):
        x = 0.5 + i * 4.2
        box = slide.shapes.add_textbox(Inches(x), Inches(1.5), Inches(3.8), Inches(3.0))
        tf = box.text_frame
        tf.text = kpi["value"]
        tf.paragraphs[0].runs[0].font.size = Pt(40)
        tf.paragraphs[0].runs[0].font.bold = True

prs.save("一括インフォグラフィック.pptx")
print(f"{len(slides_data)}スライドを一括生成")
✅ 実行結果

JSONデータを差し替えるだけで複数スライドを一括生成。月次レポートの資料作成を完全自動化。

📊 自動化で得られる効果
⏱ 作業時間(Before) KPIスライド作成:4〜5時間/月
⚡ 自動化後(After) JSON更新+実行:3分
作成時間 5時間→3分(99%削減)
デザイン統一 毎月同じレイアウト・スタイル
ミス防止 数値の転記ミス→ゼロ

このシステムが解決する課題

データを視覚的に伝わるインフォグラフィックに変換。この自動化が特に効果的な場面と、解決できる課題を整理します。

❌ よくある課題

  • デザインの知識がなく、データを視覚的にわかりやすく表現する方法がわからない
  • Canvaや専門デザインツールを学ぶ時間がなく、テキストだけのスライドになりがち
  • SNS・プレスリリース向けのインフォグラフィックを外注すると費用が高い
  • データが更新されるたびにインフォグラフィックを作り直す手間が大変

実務での活用シナリオ

業種・部門 活用方法と効果
SNSマーケティング 調査データをインフォグラフィックに変換してSNS投稿。エンゲージメント率が2〜3倍に向上。
プレスリリース 業績・調査結果をビジュアル化したインフォグラフィックを添付。メディア掲載率が向上。
社内報・コーポレートサイト 会社の事業実績・社会貢献活動をインフォグラフィックで表現。ブランドイメージの向上に貢献。
学術・研究発表 研究データをわかりやすいインフォグラフィックに変換。非専門家への説明が容易に。
採用資料 会社データ(従業員数・成長率・働き方)をインフォグラフィックで表現。求人への応募率向上。

導入前後の効果比較

😫 Before ─ 従来の課題

データをテキストと棒グラフだけのシンプルなスライドで表現していた。視覚的なインパクトが弱く、受け取り側の記憶への定着率も低かった。外部のデザイナーに依頼すると1枚あたり数万円かかっていた。

✅ After ─ Claude Code で解決

python-pptx + matplotlibで数値・アイコン・カラーバーを組み合わせたインフォグラフィックを自動生成。データを更新して再実行するだけで最新のインフォグラフィックが完成。

導入のポイントと注意事項

💡 スムーズに運用するためのコツ

  • アイコンはemoji(Unicode絵文字)や無料アイコンフォント(Font Awesome)の画像を使うと、デザインツールなしでもビジュアルが豊かになる
  • 数字は大きく(60pt以上)、単位を小さく表示するだけで「インフォグラフィックらしい」見た目になる
  • カラーパレットは2〜3色に絞り、メインカラー・サブカラー・アクセントカラーの役割を明確にする
  • インフォグラフィックのサイズはSNS用(1080×1080px正方形)とプレゼン用(1280×720px)を分けて自動生成するとそのまま使用できる

よくある質問(FAQ)

Q. デザインの知識がなくても作れますか?
A. Claude Codeに「インフォグラフィックスライドを作って」と指示するだけで、レイアウト・色・フォントをすべてAIが決定します。デザインの知識は不要です。
Q. アニメーション付きのインフォグラフィックは作れますか?
A. PowerPointのアニメーション機能との組み合わせで実現できます。数値がカウントアップするアニメーションは特に視覚的なインパクトが大きいです。
Q. 印刷物(パンフレット)としても使えますか?
A. はい。python-pptxで生成したスライドをPDFに変換(LibreOffice経由)することで、印刷品質のインフォグラフィックPDFを出力できます。

まとめ

✅ KPIカード付きインフォグラフィックを自動生成
✅ ドーナツグラフ+テキストのビジュアルスライドを自動作成
✅ JSONデータ駆動で複数スライドを一括生成
✅ デザイン作業時間を大幅短縮

どんな現場で使われているか:活用シナリオ

対象者 導入前の課題 Claude Code導入後
広報担当 社外向けインフォグラフィックをデザイナーに依頼して1週間待ち データと構成を渡すだけでインフォグラフィックPPTを自動生成
マーケター SNS投稿用の数値グラフを毎回Canvaで手作りしている スクリプトでブランドカラー統一のインフォグラフィックを自動生成
研修担当 研修資料の視覚的なコンテンツ作成に時間がかかりすぎる テキストデータからインフォグラフィック形式スライドを自動生成

実装で押さえるべき重要ポイント

  • 1
    アイコンはemoji→画像変換で簡単に追加:Pillowでemoji文字を高解像度PNG画像に変換してPPTに挿入することで、有料アイコンサービス不要でビジュアル豊かなインフォグラフィックを作れます。
  • 2
    カラーグラデーションは背景シェイプで表現:python-pptxの塗りつぶし設定はグラデーションに限界があります。グラデーション画像を事前にPNGで生成して背景として配置する方法が確実です。
  • 3
    フォントはWindows標準フォントで互換性を確保:カスタムフォントを使うと他のPCで表示が崩れます。メイリオ・游ゴシック等のWindows標準フォントで統一することで互換性を確保できます。

ビジネスインパクト

1週間→当日
インフォグラフィック作成時間
デザイナー不要
外部依頼コスト
ブランド統一
全社資料のデザイン一貫性

この記事のまとめ

  • ✅ データからインフォグラフィック形式のPowerPointスライドを自動生成できる
  • ✅ ブランドカラー・フォントを統一したビジュアル資料を一括生成できる
  • ✅ デザイナー依頼不要で広報・マーケ資料を自動生成できる
  • ✅ SNS・社内報・プレゼン向けの複数サイズ版を同時に自動生成できる


関連記事


制作実績サンプル

このクオリティの資料が、あなたの業務でも作れます

Aurant Technologies が実際に制作したコンサルティング資料(全82枚)のサンプルです。Claude Code × AI自動化により、従来の1/5のコスト・時間で同等品質を実現します。

タイトルスライド

タイトル・ダーク背景
3カラム分析

3カラム比較・分析
AI活用フロー

AI活用フロー図解
Before/After

Before/After比較
RFPテンプレート

構造化コンテンツ
全10枚を
見る

御社のテーマでこのレベルの資料を作成できます
制作費・納期・自動化プランは無料相談でご確認いただけます

📊 サンプル全10枚を見る →

Claude Codeで業務自動化を始めよう

自然言語で指示するだけで、あなたの業務に合ったスクリプトを自動生成します。

無料で試してみる →

AT
aurant technologies 編集

上場企業からスタートアップまで、数多くのデータ分析基盤構築・AI導入プロジェクトを主導。単なる技術提供にとどまらず、MA/CRM(Salesforce, Hubspot, kintone, LINE)導入によるマーケティング最適化やバックオフィス業務の自動化など、常に「事業数値(売上・利益)」に直結する改善実績多数。

この記事が役に立ったらシェア: