Bubble charts concept in Matplotlib - Time & Space Complexity
We want to understand how the time to draw a bubble chart changes as we add more bubbles.
How does the number of bubbles affect the work matplotlib does?
Analyze the time complexity of the following code snippet.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [5, 4, 3, 2, 1]
sizes = [100, 200, 300, 400, 500]
plt.scatter(x, y, s=sizes)
plt.show()
This code draws a bubble chart with 5 bubbles, each sized differently.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Drawing each bubble on the chart.
- How many times: Once for each bubble in the data arrays.
As we add more bubbles, matplotlib draws more circles one by one.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 drawing steps |
| 100 | 100 drawing steps |
| 1000 | 1000 drawing steps |
Pattern observation: The work grows directly with the number of bubbles.
Time Complexity: O(n)
This means the time to draw the chart grows in a straight line as you add more bubbles.
[X] Wrong: "Drawing many bubbles happens instantly no matter how many there are."
[OK] Correct: Each bubble needs to be drawn separately, so more bubbles mean more work and more time.
Knowing how drawing time grows helps you understand performance when visualizing large data sets.
"What if we added animation to the bubbles? How would that affect the time complexity?"