Data Visualization in Python with Matplotlib, Seaborn and Plotly

Visualization (Matplotlib, Seaborn, Plotly) is an intermediate-level course of 5 lessons (about 3 h 5 min), with 15 exercises and 15 quiz questions. Prerequisites: Data Analysis with pandas and NumPy. Exercises run in the browser, with nothing to install.

  • Python
  • Intermediate
  • 5 lessons
  • 3 h 5 min
  • 15 exercises
  • Exercises run in the browser

The course in brief

This course teaches you to turn data into accurate, readable charts. You master Matplotlib's object-oriented interface, choose the right chart for each question, polish the formatting, produce statistical charts with Seaborn, then interactive visuals with Plotly. The exercises check your charts through code: titles, axes, series.

What you will be able to do

  • Create and customize charts with Matplotlib's object-oriented interface
  • Choose the right chart for a question (comparison, trend, distribution, relationship)
  • Compose multi-panel figures with formatted axes and annotations
  • Produce statistical charts and facets with Seaborn from a DataFrame
  • Create, customize and export interactive charts with Plotly
  • Apply principles of readability and visual honesty

Syllabus: 5 lessons

    • Create a figure and axes with the object-oriented interface
    • Plot one or more lines with a title, axis labels and a legend
    • Save a chart to an image file

    Figure and AxesLinesTitles, labels and legend

  1. 02

    Choosing the Right Chart: Bars, Histograms, Scatter Plots

    20 min
    • Match an analysis question to the right type of chart
    • Draw bars, histograms, scatter plots and box plots with Matplotlib
    • Plot quickly from a DataFrame with the pandas plot method

    Choosing a chartBars and histogramsScatter plots and box plots

  2. 03

    Subplots, Formatting and Annotations

    20 min
    • Compose several charts in a single figure
    • Format axes (percentages, thousands, dates) and annotate a key point
    • Apply readability principles to a presentation chart

    SubplotsAxis formattingAnnotations

  3. 04

    Seaborn: Statistical Charts from a DataFrame

    20 min
    • Draw Seaborn charts from a long-format DataFrame
    • Use hue to compare groups and col to multiply panels
    • Combine Seaborn and Matplotlib to customize the result

    Axes-level functionsColor encoding (hue)Facets

  4. 05

    Plotly: Interactive Charts

    20 min
    • Create interactive charts with Plotly Express
    • Understand the structure of a Plotly figure (data and layout)
    • Customize an interactive figure and export it to HTML

    Plotly ExpressFigure structureHTML export

Final project

Visual sales report for a retail chain

From a simulated sales dataset (date, region, channel, category, amount), produce a visual report for a management committee. It must answer four questions: how monthly revenue evolves by channel, which regions and categories contribute the most, how baskets are distributed by channel, and whether there is a relationship between discount and basket size. Each chart must use the appropriate type, a title that states the conclusion and polished formatting; one of them will be turned into an interactive Plotly version.

Deliverables

  • A script or notebook that generates all the figures from the data
  • At least four Matplotlib/Seaborn charts, including a multi-panel figure and a facet grid
  • An interactive Plotly chart exported to HTML
  • The figures exported as PNG (dpi ≥ 150) and a summary page with one message per chart
  • A test function that checks, for each figure, the title, the axis labels and the number of series

Assessment criteria

  • Each chart answers a question and uses the appropriate type
  • Conclusion titles, labels with units, legends and formats (%, thousands) are present
  • Scales are honest (bars from zero, shared axes for comparison)
  • The code is organized (one function per chart, object-oriented interface) and tested
  • The interactive version adds real value (tooltips, legend filters)

Frequently asked questions

Should I learn Matplotlib, Seaborn or Plotly?

All three are complementary. Matplotlib is the foundation Seaborn is built on and gives fine-grained control; Seaborn quickly produces statistical charts from a DataFrame; Plotly creates interactive charts you can share. The course covers them in that order.

How do I choose the right type of chart?

Start from the question: comparing categories (bars), following a trend (line), seeing a distribution (histogram, box plot) or studying a relationship (scatter plot). A whole lesson is devoted to this choice and its common pitfalls.

What level do I need for this visualization course?

You need to be comfortable working with a pandas DataFrame (selection, groupby, long format), as in the course Data Analysis with pandas and NumPy (PY3).

Can you build interactive dashboards in Python?

Yes. Plotly produces interactive charts that can be exported to HTML, and it is the basis of the Dash framework for building dashboard applications. The course covers the fundamentals.

This course, told for your job

Say what you want to be able to do: “Visualization (Matplotlib, Seaborn, Plotly)” takes its place in your path, with examples from your field. The concepts stay those of the course.

The preview is free, and you can take the courses one at a time without paying. The path only contains lessons from the catalogue.