Data Storytelling With Visualizations
Part of the Data Science Roadmap
In short
A chart dump is not a story. People remember one clear point, a surprise and what to do next. One well-built chart can win a meeting that twenty dashboards lost.
Applying data visualization principles specifically to model results — showing predictions versus actuals, feature importance, and error patterns in a way a non-technical audience can follow.

Think of it like this
The kathputli show
A puppeteer doesn't wave every puppet at once. One hero, one problem, one big moment, then the ending. Your charts work the same way: one message per chart, the key bar in colour, everything else in grey.
Watch it happen
Building one chart that tells a story
1/6Write the point in one sentence first: 'Late deliveries more than double after 9 pm.'
The big ideas
What you need to know
One chart, one point
If a chart needs two messages, make two charts.
Titles state the finding
Readers skim titles. Let the title say what they should conclude.
Grey plus one colour
Colour is a pointer. Use it on the one thing you want eyes to land on.
Show model results visually
Predicted vs actual, errors by segment and top features are the charts stakeholders actually ask for.
See it in code
Walk through the code
1import matplotlib.pyplot as plt2 3hours = list(range(18, 24))4late_pct = [6, 7, 8, 15, 17, 18]5 6colors = ["lightgrey"] * 3 + ["crimson"] * 37plt.bar(hours, late_pct, color=colors)8plt.title("Late deliveries more than double after 9 pm", loc="left")9plt.xlabel("Order hour")10plt.ylabel("% of orders late")11plt.gca().spines[["top", "right"]].set_visible(False)12plt.show()1/4Small sample data: share of late orders for each evening hour.
Same bar chart, but the colour and title do the talking. Nobody needs a legend to get the point.
Save yourself the pain
Common mistakes
Oops
Titling a chart 'Late deliveries by hour'.
Do this instead
Title it with the finding: 'Late deliveries more than double after 9 pm'.
Oops
Using rainbow colours, 3D pies and every column in the dataset.
Do this instead
Use grey for context and one highlight colour. Show only what supports the message.
Your mission
Give one chart a story
Quick check
Your chart shows model error is highest for customers in their first month. What's the best title?
Go deeper
- 1Build a clear visual comparing a model's predictions to actual outcomes.
- 2Visualize feature importance in a way that reads clearly to a non-technical audience.
- 3Practice writing a one-sentence takeaway for each visualization you build.
More topics at this stop
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.