2016-09-20 4 views
-1

Пытается построить панда Dataframe с использованием matplotlib. но он жалуется на ошибку памяти. Нужна помощь в разрешении проблемы.Ошибка памяти при построении графика с использованием matplotlib

Размер Dataframe: [1835 строк x 1 столбцов] Numpy массив одинакового размера.

Код аналогичен приведенному ниже.

import pandas as pd 
import matplotlib.pyplot as plt 
import numpy as np 

sorted_values = data['values'].sort_values() # data['values'] is of size 1835 rows x 1 columns 
forc = np.array(range(1835), float) 
plt.plot(sorted_values, forc, marker='o', ms=3.0, lw=1.5) 

но matplotlib жалуется на память.

File "C:\Anaconda2\lib\site-packages\IPython\core\formatters.py", line 339, in __call__ 
return printer(obj) 

File "C:\Anaconda2\lib\site-packages\IPython\core\pylabtools.py", line 228, in <lambda> 
png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png', **kwargs)) 

File "C:\Anaconda2\lib\site-packages\IPython\core\pylabtools.py", line 119, in print_figure 
fig.canvas.print_figure(bytes_io, **kw) 

File "C:\Anaconda2\lib\site-packages\matplotlib\backend_bases.py", line 2151, in print_figure 
self.figure.dpi = dpi 

File "C:\Anaconda2\lib\site-packages\matplotlib\figure.py", line 410, in _set_dpi 
self.dpi_scale_trans.clear().scale(dpi, dpi) 

File "C:\Anaconda2\lib\site-packages\matplotlib\transforms.py", line 1885, in clear 
self.invalidate() 

File "C:\Anaconda2\lib\site-packages\matplotlib\transforms.py", line 136, in invalidate 
return self._invalidate_internal(value, invalidating_node=self) 

File "C:\Anaconda2\lib\site-packages\matplotlib\transforms.py", line 158, in _invalidate_internal 
for parent in list(six.itervalues(self._parents)): 

MemoryError 
+0

Эта трассировка, похоже, не связана с кодом, который вы опубликовали выше. Похоже, что вы сохраняете память, сохраняя фигуру как .png-изображение. Вы должны попытаться уменьшить размер холста фигуры и/или уменьшить DPI. –

ответ

0

Я был в состоянии решить проблему, просто удалив маркер (и маркер) во время печати.

В принципе, избегайте использования маркера при построении больших данных.

Смежные вопросы