Visualizations Terminus
Pixels per percentage
Let's look at a percentage-based approach to handling data with very high values or many sources and targets.
For example, if we had a dataset that included values that were in the millions, Terminus may end up trying to process and display a million or more pixels on-screen simultaneously. The result would likely be crashing the tab or browser! Whilst that can be managed with the previously discussed pixel_batch_size
and pixel_journey_duration
, that approach will likely result in an animation that lasts too long.
Instead, we can start representing our data as a percentage. For example, we could represent
Let's demonstrate this with a high-value dataset.
Sample data
Let's import PlotAPI and load our sample data.
from plotapi import Terminus
links = [
{"source":"England", "target":"Germany", "value": 100000},
{"source":"England", "target":"France", "value": 300000},
{"source":"England", "target":"Spain", "value": 500000},
{"source":"England", "target":"Italy", "value": 400000},
{"source":"England", "target":"Japan", "value": 8000},
{"source":"Ireland", "target":"Germany", "value": 350000},
{"source":"Ireland", "target":"France", "value": 375000},
{"source":"Ireland", "target":"Spain", "value": 175000},
{"source":"Ireland", "target":"Italy", "value": 5000},
{"source":"Ireland", "target":"Japan", "value": 40000},
]
Demonstration
We can see that we're working with a dataset that contains higher values than usual. Let's address this by setting percentage_by_source=True
, which enables the percentage feature, and then pixels_per_percentage=100
, which means we will be using
Terminus(links, stats_text_width=100, colors="cool",
percentage_by_source=True, pixels_per_percentage=100).show()