Visualizations
Bar Fight
Everything you need to create beautiful, engaging, and interactive Bar Chart Race visualizations.
Importing PlotAPI Bar Fight
Let's import BarFight from the PlotAPI package.
from plotapi import BarFight
We've already activated our license with the license activation instructions.
Data structure
PlotAPI Bar Fight expects at minimum a list of dictionary items, these will define the value of our bars over time.
samples = [
{"order": 0, "name": "Sankey", "value": 10},
{"order": 0, "name": "Terminus", "value": 12},
{"order": 0, "name": "Chord", "value": 8},
{"order": 0, "name": "Bar Fight", "value": 9},
{"order": 0, "name": "Pie Fight", "value": 12},
{"order": 1, "name": "Sankey", "value": 18},
{"order": 1, "name": "Terminus", "value": 24},
{"order": 1, "name": "Chord", "value": 22},
{"order": 1, "name": "Bar Fight", "value": 14},
{"order": 1, "name": "Pie Fight", "value": 17},
{"order": 2, "name": "Sankey", "value": 24},
{"order": 2, "name": "Terminus", "value": 40},
{"order": 2, "name": "Chord", "value": 32},
{"order": 2, "name": "Bar Fight", "value": 19},
{"order": 2, "name": "Pie Fight", "value": 42},
{"order": 3, "name": "Sankey", "value": 32},
{"order": 3, "name": "Terminus", "value": 62},
{"order": 3, "name": "Chord", "value": 40},
{"order": 3, "name": "Bar Fight", "value": 25},
{"order": 3, "name": "Pie Fight", "value": 64},
{"order": 4, "name": "Sankey", "value": 32},
{"order": 4, "name": "Terminus", "value": 75},
{"order": 4, "name": "Chord", "value": 55},
{"order": 4, "name": "Bar Fight", "value": 45},
{"order": 4, "name": "Pie Fight", "value": 121},
]
We can see that each dictionary item has three properties:
-
orderwhich determines with time period this item belongs to. This should be numerical, but can be formatted e.g. as dates. -
namethe name of the item, and the text that appears on the bar. -
valuethe value of the bar at the associated point in time.
Default visualization
Creating our first Bar Fight Diagram is as easy as calling PlotAPI with our one input.
Be sure to interact with the visualisation to see what the default settings can do!
BarFight(samples).show()