2015-12-11 5 views
0

я столкнулся ниже ошибки при построении графика в matplotlibFile "Python: Ошибка памяти при использовании Matplotlib

<stdin>", line 1, in <module> 
    File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2515, in bar 
    ret = ax.bar(left, height, width=width, bottom=bottom, **kwargs) 
    File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 4951, in bar 
    width *= nbars 
MemoryError 

Мой код выглядит следующим образом:

import matplotlib.pyplot as plt 
x = [56508490, 56508490] 
max = 56508490 
plt.bar(range(0,max), x) #-> error line 
#plt.show() 

PS: Мне нужно использовать только выше значения в переменных

+0

Вы можете использовать xrange вместо диапазона? – utkbansal

ответ

3

Я не уверен, что вы передаете аргументы, которые вы хотите использовать bar. Аргументы: left и height, и они должны быть последовательностями одинаковой длины, дающими положение и высоту баров.

Вы передаете 56 миллионов позиций для создания 56 миллионов баров (неудивительно, что вы получили ошибку памяти). Но вы только поставляете две высоты.

Может быть, вы хотите:

import matplotlib.pyplot as plt 
x = [56508490, 56508490] 
max = 56508490 
plt.bar([0,1], x) #-> error line 
plt.show() 
Смежные вопросы