これまで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で作成していきます。
コメント