【Day 22】Pythonでグラフ付きPDFレポートを自動生成しよう!

未分類

これまでPDFにテキストだけのレポートを出力してきましたが、今回はデータに基づくグラフを自動生成してPDFに組み込む方法を学びます。
レポートに視覚的な要素を加えることで、伝わりやすく、より実用的な資料になります。

📦 必要なライブラリ

pip install matplotlib fpdf2

📊 グラフ付きPDFを作成するPythonコード


import matplotlib.pyplot as plt
from fpdf import FPDF
import datetime

# ダミーデータ(例:月別売上)
months = ['1月', '2月', '3月', '4月']
sales = [120, 150, 180, 220]

# グラフを描画して保存
plt.figure(figsize=(6,4))
plt.plot(months, sales, marker='o', color='skyblue')
plt.title('月別売上推移')
plt.xlabel('月')
plt.ylabel('売上(万円)')
plt.grid(True)
graph_file = "sales_chart.png"
plt.savefig(graph_file)
plt.close()

# PDFに貼り付け
pdf = FPDF()
pdf.add_page()
pdf.add_font("Arial", '', 'arial.ttf', uni=True)  # 日本語が必要なら日本語フォントを指定
pdf.set_font("Arial", size=14)
pdf.cell(0, 10, txt="【AIレポート】月別売上推移", ln=True)

# グラフ画像を挿入
pdf.image(graph_file, x=10, y=30, w=180)

# 保存
filename = f"report_{datetime.date.today()}.pdf"
pdf.output(filename)
print(f"✅ PDFレポート生成完了: {filename}")

📌 ポイント

  • matplotlibでグラフ画像を生成し、一時ファイルとして保存
  • fpdf2の image() 関数でPDFに貼り付け
  • 複数ページや複数グラフにも対応可能

💡 応用アイデア

  • AIによる文章+グラフの混合レポート作成
  • 複数グラフをレイアウトして1ページに表示
  • グラフ画像をSlackやLINEに同時送信

✅ まとめ

  • データをグラフ化してPDFに組み込むことで、視覚的で説得力のあるレポートに
  • ビジネス資料やレポート作成を完全自動化可能
  • AIの分析力 × グラフの可視化で最強の報告ツールに!

▶️ 次回予告

Day23では、PDFレポートに「表データ」も組み込み、文字+表+グラフという完全なビジネスレポートをPythonで作成していきます。

コメント

タイトルとURLをコピーしました