2016-07-29 2 views
1

Я пытаюсь использовать набор инструментов Basemap из matplotlib для построения данных на карте. Когда я пытаюсь запустить следующий кодКод примера базы данных Matplotlib не работает из-за MemoryError

from mpl_toolkits.basemap import Basemap 
import matplotlib.pyplot as plt 
# setup Lambert Conformal basemap. 
# set resolution=None to skip processing of boundary datasets. 
m = Basemap(width=12000000,height=9000000,projection='lcc', 
      resolution=None,lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.) 
m.shadedrelief() 
plt.show() 

, который скопирован и вставлен непосредственно из example #4 on the basemap tutorial

Код терпит неудачу с этой ошибкой:

Traceback (most recent call last): 
    File "basemap_test.py", line 11, in <module> 
    m.shadedrelief() 
    File "C:\Python35-32\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 4043, in shadedrelief 
    return self.warpimage(image='shadedrelief',scale=scale,**kwargs) 
    File "C:\Python35-32\lib\site-packages\mpl_toolkits\basemap\__init__.py", line 4171, in warpimage 
    self._bm_rgba = self._bm_rgba.astype(np.float32)/255. 
MemoryError 

Я бегу на Python 3.5.1, используя Matplotlib версия 1.5.1 и базовая версия версии 1.0.8

Я нашел пару потоков (here и here) что dea l с похожими ошибками в mpl_toolkits/baseemap/init .py, которые предположительно были исправлены, но не устраняют эту проблему.

Любая помощь будет оценена!

+0

Ваш код отлично работает на моем ноутбуке --- У меня 8 ГБ оперативной памяти ... –

ответ

0

Решил проблему, обновив до 64-битного питона. Похоже, что хотя Basemap публикует версию для 32-битного питона, не все функции карты работают в 32-битных, даже стандартных примерах.

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