Matplotlib giving error "OverflowError: In draw_path: Exceeded cell block limit"

Question:

I’m trying to render an image using matplotlib with 100000000 data points and it produces the error OverflowError: In draw_path: Exceeded cell block limit. Is there a limit in the amount of data points it can draw?

Asked By: Lou

||

Answers:

The problem is a hardcoded limit in the number of points in the backend Agg.

Try using:

import matplotlib as mpl
mpl.rcParams['agg.path.chunksize'] = 10000

or other large value.

You can find the issue and the solution proposed here: https://github.com/matplotlib/matplotlib/issues/5907

Answered By: Serenity

The problem is a hardcoded limit in the number of points in the backend Agg.

It can be solved by mpl.rcParams['agg.path.chunksize'] = 10000.

You can find the issue and the solution proposed here: https://github.com/matplotlib/matplotlib/issues/5907

Answered By: ImanolUr

Maybe the problem is because matplotlib uses default inline plotting, which means it connects the points. There’s some limit to the points for that. But if you remove inline plotting, it might work. Try

import matplotlib.pyplot as plt
plt.plot(x, y, 'ro', linestyle="None")

The ‘ro’ is for it to show red dots.

Answered By: Joko Maxino
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.