Markers on data points in Matplotlib - Time & Space Complexity
When we add markers on data points in a plot, it takes some time to draw each marker. We want to understand how this drawing time changes as we add more points.
How does the time to draw markers grow when the number of points increases?
Analyze the time complexity of the following code snippet.
import matplotlib.pyplot as plt
n = 10 # Example value for n
x = range(n)
y = range(n)
plt.plot(x, y, marker='o')
plt.show()
This code plots n points with circle markers on each data point.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Drawing a marker for each data point.
- How many times: Once for each of the n points.
Each new point adds one marker to draw, so the total drawing time grows directly with the number of points.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 marker draws |
| 100 | 100 marker draws |
| 1000 | 1000 marker draws |
Pattern observation: The time grows in a straight line as we add more points.
Time Complexity: O(n)
This means the time to draw markers grows directly in proportion to the number of points.
[X] Wrong: "Adding markers does not affect drawing time much because markers are small."
[OK] Correct: Each marker still requires a drawing step, so more points mean more markers and more time.
Understanding how drawing time grows helps you explain performance in data visualization tasks. This skill shows you can think about how code scales with data size.
"What if we changed from drawing markers on every point to drawing markers only on every 10th point? How would the time complexity change?"