The Python Graph Gallery

A collection of hundreds of charts made with Python, from beginner-friendly basics to stunning dataviz. Each example comes with its reproducible code and explanations. Most of them use matplotlib and seaborn.

Hunting the most beautiful Python charts

Explore our curated collection of the finest Python charts, handpicked for their superior design and accuracy. Go beyond the defaults with chart examples that are both visually stunning and instructive.

Accompanied by in-depth tutorials, this section will please seasoned professionals aspiring to elevate their craft. Featuring the finest charts on the web, we stay ahead of the curve, showcasing the latest tips, tricks, and advanced techniques in data visualization.

minimalist black and white line chart

Salary evolution

Joseph Barbier

polygon map to compare distances

Beyond the choropleth: a polygon map

Sebastiaan Broekema

choropleth map combined with histogram

Salary in the USA

Joseph Barbier

choropleth map combined with barplot

Unemployment rate in Belgium

Koen Van den Eeckhout

waffle chart about animal adoption

Animal adoption evolution

Joseph Barbier

2 choropleth maps next to each other with different granularities

Unemployment rates in the US

Joseph Barbier

choropleth map and a barplot together

HDI distribution in Sao Paulo

Vinicius Oike Reginatto

Waffle chart about storms frequency

Evolution of temperature variation

Joseph Barbier

Waffle chart about storms frequency

Share of cereals used as animal feeds

Muhammad Azhar

Waffle chart about cereals

Share of cereals used as animal feeds

Benjamin Nowak

Area chart

Japan's population evolution

Joseph Barbier

Cartogram of Asia

Earthquakes around the world

Joseph Barbier

Cartogram of Asia

Density population in Asia

Joseph Barbier

Choropleth map of CO2 consumption per capita in Europe

CO2 consumption in Europe

Joseph Barbier

Small multiples of waffle charts

London recycling rates

Lisa Hornung

Stacked area chart with labels

Evolution of natural disasters

Joseph Barbier

Picture of a clean small multiple line chart made with matplotlib

Unemployment rate during COVID-19

Joseph Barbier

A diverging lollipop chart with an image in the background

Lollipop about music genres

Joseph Barbier

bubble map

Map with scatter plot on top

Joseph Barbier

choropleth map

Multiple choropleth map

Joseph Barbier

choropleth map

Scatter plot with specific highlights

Joseph Barbier

lollipop plot

Dumbell chart

Cédric Scherer

ridgeline plot

Double heatmap for comparison

Joseph Barbier

ridgeline plot

Ridgeline with quantiles display

Ansgar Wolsing

Clean table with plottable

Polished table with bubbles

Fortune Uwha

Clean table with plottable

Line chart with word cloud

Joseph Barbier

Stacked area charts displayed on a map

Mini stacked areas for US states

Erin

Choropleth map with gradient color

Choropleth map with gradient color

Joseph Barbier

Circular Barplot about star wars

Ordered & Mirrored barplot

Lisa Hornung

Ordered mirrored barplot made with matplotlib

Ordered & Mirrored barplot

Benjamin Nowak

Polished scatterplot made with Python

Scatterplot with grouping, highlighting and annotation

Data Wrapper

Clean histogram reproduction in Python

Histogram with clean color scale and annotation

INSEE

Area over a flexible baseline made with Python and Matplotlib/Plotly

Area over flexible baseline chart

J. Kühn

clean circular barplot made with Python and Matplotlib

Circular Barplot

T. Stadler

circular lollipop plot made with Python and Matplotlib

Circular Lollipop Plot

C. Scherer

Combination of a violin and a boxplot made with Python and Matplotlib

Violin and Boxplot combination

T. Wang

Heatmap with varying circle in cells

Circle Heatmap

M. Siple

Circular barplot with small multiple

Circular barplot

M. Siple

multi panel layout with Python line charts

Line chart with faceting

A. Madjid

Scatterplot with images in python

Scatterplot with images

Tanya Shapiro

Horizonal barplot with the Economist's style

Horizontal Barplot

The Economist

Parallel chart made with Python

Parallel chart

G. Karamanis

Line chart with inline labels

Inline labels

C. Scherer

Python line chart with style of the Economist

Line chart from the Economist

The Economist

Python area chart with style of the Economist

Area chart from the Economist

The Economist

Lollipop Chart made with Python and matplotlib

Lollipop chart

C. Scherer

Line chart with several groups per panel on a small multiple layout

Line chart with small multiple

O. Medina

Radar chart with Matplotlib

Radar chart with matplotlib

T. Wang

Scatterplot with variable color in Python

Astronaut Scatterplot

C. Thompson

Scatterplot with regression fit

Scatterplot with regression fit

C. O. Wilke

Clean stacked barplot

Stacked barchart

G. Fontana

Streamchart made in Python

X-men Streamchart

C. Scherer

Scatterplot with smart labels

Scatterplot with text repel

T. Wang

Timeseries chart with filled areas and faceting

Timeseries and faceting

G. Karamanis

Polar barchart with Python

Polar bar chart

nyx-it-up

A very clean heatmap used as a timeseries

Hourly heatmap

J. MacKintosh

Line chart with small multiple and all groups faded out

Line chart & small multiple

G. Fontana

Line chart with small multiple and all groups faded out

Barplot with annotations and arrows

J. Barbier

Palette color finder

Selecting optimal chart colors can be challenging and time-intensive. The pypalettes library simplifies this process by providing access to over 2,500 color palettes with a single line of code.

Additionally, the Python Graph Gallery features a dedicated page where you can browse all these palettes and preview their appearance on your charts.

Color palette finder demo

Python Graphing with State-of-the-Art Libraries

The python graph gallery relies on the latest and most powerful charting libraries.

Matplotlib logoMatplotlib

The foundation of Python visualization. Offers a wide array of customizable 2D plots and an extensive set of tools for creating intricate figures and charts.

Tutorial

Seaborn logoSeaborn

Built atop Matplotlib, Seaborn elevates data visualization by providing a higher-level interface and stunning default themes.

Tutorial

Pandas logoPandas

Beyond its powerful data manipulation capabilities, Pandas offers convenient plotting methods, enabling users to visualize data directly from DataFrame and Series objects.

Tutorial

Plotly logoPlotly

Delivering interactive and browser-based visualizations, Plotly allows users to craft visually captivating charts, bridging the gap between static graphs and web-based interactivity.

Tutorial

Plotnine logoPlotnine

Plotnine is a Python library for creating statistical visualizations with a simple grammar of graphics interface, inspired by ggplot2 in R.

Tutorial

Love beautiful charts?

The Python Graph Gallery complements dataviz-Inspiration.com, a website featuring hundreds of my favorite data visualization projects.

Get some inspiration
overview of the matplotlib journey landing page

Matplotlib Journey is an interactive online course crafted to transform you into a Matplotlib dataviz expert. It provides a clear, big-picture understanding of how data visualization works in Python, empowering you to grasp any example from the gallery with ease.

Finally, Understand Matplotlib.
300 projects

💡 Out of dataviz inspiration?

I have spent years collecting the most beautiful data visualizations out there. Get the list of my top 300 dataviz projects, hand-picked, for free.

I respect your privacy. Unsubscribe anytime.