ChatGPTIntermediate

How to Make Charts and PDF Reports with ChatGPT

Turn a dataset into labeled charts and a downloadable PDF report using ChatGPT's data analysis tools.

9 minIntermediate

Beyond answering questions, ChatGPT can produce finished deliverables: a clean chart image and a multi-page PDF you can hand to someone. It does this by running Python (matplotlib and a PDF library) in its sandbox and giving you download links. This guide goes from raw numbers to a shareable report.

What you need

  • A ChatGPT account with file upload and data analysis
  • A dataset (CSV or Excel) with at least one numeric column
  • An idea of the story you want the report to tell

Step 1: Upload and confirm the numbers

Upload the file and ask ChatGPT to summarize the key figures you plan to chart. Lock down the numbers first, because a wrong total in a chart is harder to catch than in text.

Step 2: Request a specific, labeled chart

Vague requests give generic charts. Specify the chart type, what goes on each axis, the title, and any formatting like sorting or a currency axis. Ask for one chart at a time so each is exactly right.

what ChatGPT runs for the chart
import matplotlib.pyplot as plt

monthly = df.groupby(df["date"].dt.to_period("M"))["revenue"].sum()

fig, ax = plt.subplots(figsize=(8, 4))
ax.plot(monthly.index.astype(str), monthly.values, marker="o")
ax.set_title("Monthly Revenue, 2026")
ax.set_xlabel("Month")
ax.set_ylabel("Revenue (USD)")
ax.grid(True, alpha=0.3)
fig.autofmt_xdate()
fig.savefig("monthly_revenue.png", dpi=150, bbox_inches="tight")
ChatGPT — rendered chart
You
Make a line chart of total revenue by month, titled 'Monthly Revenue, 2026', with a USD y-axis.
Agent
Here is the chart. Revenue peaks in March, dips in July, and recovers through Q4. Download: monthly_revenue.png

Step 3: Assemble the report

Tell ChatGPT to combine a short written summary, the chart images, and a small table into a single PDF. Give it the section order you want so the output reads like a real report rather than a data dump.

Report request
$Build a PDF: title page, a 5-bullet summary, the monthly chart, then a table of revenue by region. Title it Q2 Revenue Review.
Created Q2_Revenue_Review.pdf (4 pages). Download link below.
$

Step 4: Iterate on the output

Open the PDF and request fixes in plain language: bigger chart, reorder sections, add your company name to the title page. ChatGPT regenerates the file with the same data, so you converge on a polished version quickly.

Fonts and emoji
The sandbox has a limited set of fonts, so special characters or emoji in titles may render as boxes. Stick to plain text in chart labels and headings to avoid surprises in the exported file.

Result

You have a labeled chart image and a multi-page PDF report built straight from your data, with no design tool involved, ready to attach to an email or drop into a deck.

Watch related tutorials

Tags
#data-analysis#charts#reports#pdf