Fan Chart
Chart overview
A fan chart overlays multiple nested confidence or prediction intervals around a forecast trajectory, with progressively lighter shading at wider probability levels, creating a fan-like shape that widens with forecast horizon.
Key points
- Climate scientists, epidemiologists, and economists use it to communicate both the central projection and the growing uncertainty of model-based forecasts.
- It is more informative than a single confidence band because it conveys the full probability distribution of future outcomes.
Python Tutorial
How to create a fan chart in Python
Use the full tutorial for implementation details, troubleshooting, and chart variations in matplotlib, seaborn, and plotly.
How to Create a Bar Chart in PythonExample Visualization

Create This Chart Now
Generate publication-ready fan charts with AI in seconds. No coding required – just describe your data and let AI do the work.
View example prompt
"Create a fan chart from my forecast data. Plot a solid central estimate line, shade nested prediction intervals at 50%, 80%, and 95% with progressively lighter fills, mark the forecast horizon with a vertical dashed line, and format as a publication-quality figure."
How to create this chart in 30 seconds
Upload Data
Drag & drop your Excel or CSV file. Plotivy securely processes it in your browser.
AI Generation
Our AI analyzes your data and generates the Fan Chart code automatically.
Customize & Export
Tweak the design with natural language, then export as high-res PNG, SVG or PDF.
Newsletter
Get one weekly tip for better fan charts
Join researchers receiving concise Python plotting techniques to improve chart clarity and reduce revision cycles.
Python Code Example
Console Output
Figure saved: plotivy-fan-chart.png
Common Use Cases
- 1Displaying ensemble climate model temperature projections with uncertainty bands
- 2Showing epidemiological disease incidence forecasts with credible intervals
- 3Communicating economic GDP growth projections from central bank models
- 4Presenting Bayesian pharmacokinetic model time-course predictions with posteriors
Pro Tips
Use at least three nested bands at distinct probability levels such as 50%, 80%, and 95%
Choose fill colours from a single hue at different opacities rather than multiple hues
Separate the historical observed period from the forecast period with a vertical dashed line
Include a clear legend mapping each shaded band to its probability level
Long-tail keyword opportunities
High-intent chart variations
Library comparison for this chart
matplotlib
Best when you need full control over axis formatting, annotation placement, and journal-specific styling for fan-chart.
numpy
Useful in specialized workflows that complement core Python plotting libraries for fan-chart analysis tasks.
Scientific Chart Selection Cheat Sheet
Not sure whether to use a Violin Plot, Box Plot, or Ridge Plot? Download our single-page reference mapping the most-used scientific chart types, exactly when to use them, and the core Matplotlib/Seaborn functions.