Skip to main content

Multiplex: visualizations that tell stories—A Python library to create and annotate beautiful network graph visualizations, text visualizations and more.

Project description



Visualizations should tell a story, and tell it in a beautiful way. Multiplex is a visualization library for Python built on these principles using matplotlib. This library aims to make it as easy as possible for you to transform data into beautiful visualizations that tell a story.

The instructions in this file will get you a copy of the project up and running. For use-cases of Multiplex, check out the Jupyter Notebook examples. To read more about Multiplex, read the documentation.

Who is Multiplex for?

Multiplex is aimed at data scientists, researchers, students and all those who work with data and are familiar with Python.

Why should I use Multiplex?

If Multiplex is based on matplotlib, why not use matplotlib directly?

Multiplex does not replace matplotlib. Anything that you can do with Multiplex, you can also do with matplotlib.

Multiplex makes it easier to create beautiful visualizations. This is achieved by providing:

  • 4 custom matplotlib styles;
  • Functionality to caption visualizations;
  • Functionality to annotate any visualization with text; and
  • New types of visualizations not available in matplotlib:
    • 100% bar chart,
    • Network graph,
    • Slope graph,
    • Population chart, and
    • Text-only visualizations.

Multiplex automatically lays out your data so that you can focus on telling your story.

How do I use Multiplex?


Multiplex is based on matplotlib. You can install matplotlib using pip: python -m pip install -U matplotlib. More details about it are available in matplotlib's repository.

Multiplex also uses the following libraries in certain visualizations:


You can install Multiplex using pip: python -m pip install -U multiplex-plot.


Creating visualizations with Multiplex is very easy. For example, you can create a text-only visualization in just 10 lines of code, including all styling options:

import matplotlib.pyplot as plt
from multiplex import drawable'styles/')
viz = drawable.Drawable(plt.figure(figsize=(10, 2)))
paragraph = """Anthony Lopes is a Portuguese professional footballer who plays for Olympique Lyonnais as a goalkeeper. He came through the youth ranks at Lyon, being called to the first team in 2011 and making his debut the following year."""
style = { 'align': 'justify', 'fontfamily': 'serif', 'alpha': 0.9, 'lineheight': 1.25, 'lpad': 0.1, 'rpad': 0.1 }
viz.draw_text_annotation(paragraph, **style)
viz.set_title('Profile: Anthony Lopes', loc='left')
viz.set_caption("""Wikipedia is a useful repository to get more information about anything. Below is an excerpt from the Wikipedia profile of footballer Anthony Lopes.""")

Example text annotation

All it takes to draw a simple text visualization is 10 lines of code:

  1. 3 lines to import matplotlib, Multiplex and the visualization style;
  2. 3 lines to set up the visualization object, load the data and set the style;
  3. 4 lines to draw and show the visualization, including a title and caption.

Multiplex does all the tedious work for you: the layout, alignment and more. At the same time, you can take as much control as you want.

Using Multiplex is very easy, but you can get started by checking out the Jupyter Notebook tutorials for an easy-to-follow tour of Multiplex's capabilities.

Example visualizations

Example bar chart

Example slope graph

Example time series

Example network graph

Built with


We use SemVer for versioning. For the versions available, see the tags on this repository.



This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multiplex-plot-0.5.0.tar.gz (78.2 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page