Made with Plotapi
You can create beautiful, interactive, and engaging visualisations like this one with Plotapi in any programming language.
from plotapi import Chord Chord.set_license("your username", "your license key")
Plotapi Chord supports a linked data table. This means as you hover over segments and ribbons in the Chord diagram, a data table will be filtering in real-time to show more information.
As we can see, we have set our license details in the preamble with
Chord expects a list of names (
list[str]) and a co-occurence matrix (
list[list[float]]) as input.
matrix = [ [0, 5, 6, 4, 7, 4], [5, 0, 5, 4, 6, 5], [6, 5, 0, 4, 5, 5], [4, 4, 4, 0, 5, 5], [7, 6, 5, 5, 0, 4], [4, 5, 5, 5, 4, 0], ] names = ["Action", "Adventure", "Comedy", "Drama", "Fantasy", "Thriller"]
It may look more clear if we present this as a table with the columns and indices labelled. This is entirely optional.
import pandas as pd pd.DataFrame(matrix, columns=names, index=names)
To make use of the linked data table, we need to provide some data in CSV format. This could be loaded through a file, directly in a strong, or using a pandas DataFrame (
data_table='''Genre 1,Genre 2,Awesome Thriller,Action,The Plotapi Thriller,Action,Action Plotapi Thriller,Drama,Feeling Plotapi Thriller,Comedy,Plotapi Force'''
We'll enable the linked data table by passing data into the
data_table parameter, and we'll modify the
data_table_column_width by setting it to a smaller value of $80$.
Here we're using
.show() which outputs to a Jupyter Notebook cell, however, we may want to output to a HTML file with
.to_html() instead. More on the different output methods later!
Be sure to interact with the visualisation to see what the default settings can do!
Chord(matrix, names, width=400, margin=20, curved_labels=True, data_table=data_table, data_table_column_width=80).show()
Data table mode includes the "locking" feature. Try clicking on the Thriller segment and you will see a padlock icon appear in the top right, and until you click somewhere again the current selection will persist.