Engaging plots, made easy.

Easily turn your data into engaging visualizations. Powerful API for coders. Powerful app for everyone.

from plotapi import Chord

Chord(matrix, names).show()


Split Chord

Everything you need to create beautiful, engaging, and interactive Split Chord visualizations.


Split Chord diagrams, also known as bipartite radial network diagrams, are a form of data visualisation that have become quite popular partly because of how colorful and eye-catching they can be. They are most useful when trying to convey relationships between two different groups of entities.

In a bipartite chord diagram, entities are arranged radially as arcs, which you could also refer to as the nodes. The relationships between these entities are visualised by chords that connect them, which you could also refer to as the links.

The video below is a good introduction on how to create a bipartite chord diagram from concept to code.

Importing PlotAPI SplitChord

Let's import SplitChord from the PlotAPI package.

from plotapi import SplitChord

We've already activated our license with the license activation instructions.

Data structure

PlotAPI SplitChord expects:

  • links: A list of dict items, these will define the flow between a source and a target.
  • nodes: A list of dict items, these will configure the nodes, e.g. specifying which group (left or right) they belong to.
links = [
    {"source": "Left A", "target": "Right 1", "value": 10},
    {"source": "Right 2", "target": "Left A", "value": 4},
    {"source": "Left B", "target": "Right 1", "value": 3},
    {"source": "Left B", "target": "Right 2", "value": 6},
    {"source": "Left B", "target": "Right 3", "value": 4},

nodes = [
    {"name": "Left A", "group": "left"},
    {"name": "Left B", "group": "left"},
    {"name": "Right 1", "group": "right"},
    {"name": "Right 2", "group": "right"},
    {"name": "Right 3", "group": "right"},

Default visualization

Creating our first Split Chord Diagram is as easy as calling PlotAPI with our two inputs.

Be sure to interact with the visualisation to see what the default settings can do!

SplitChord(links, nodes, colors="cool", curved_labels=True).show()