[Solved] Matplotlib giving error “OverflowError: In draw_path: Exceeded cell block limit”

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?

Enquirer: Lou

||
Solution #1:

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

Respondent: Serenity
Solution #2:

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

Respondent: ImanolUr
Solution #3:

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.

Respondent: Joko Maxino
The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Leave a Reply

Your email address will not be published.