2016-07-29 8 views
1

matplotlibのBasemapツールキットを使用してマップ上のデータをプロットしようとしています。Matplotlib Basemapの例コードがMemoryErrorのために失敗する

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 

私はmatplotlibのを使ってPython 3.5.1を実行しています:私は、コードは、このエラーで失敗しexample #4 on the basemap tutorial

からコピーして直接貼り付けられ、次のコード

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() 

を実行しようとするとバージョン1.5.1とBasemapバージョン1.0.8

私はいくつかのスレッド(herehere)が見つかりましたmpl_toolkits/basemap/init .pyの類似のバグがありましたが、これは修正されていると思われますが、この問題に対処するものはありません。

助けていただけたら幸いです!

+0

あなたのコードは私のラップトップで正常に動作します---私は8GBのRAMを持っています... –

答えて

0

64ビット版のPythonにアップグレードして問題を解決しました。 Basemapが32ビットPython用のバージョンを公開しているにもかかわらず、すべてのマップ関数が32ビットで動作するわけではなく、標準的な例でさえあるようです。

関連する問題