2015-10-25 47 views
1

我想通过以下官方Cartopy网站提供的例子来打了一下周围有Cartopy。他们都正常工作,但第一Cartopy和matplotlib类型错误:unhashable类型:“MULTILINESTRING”

import cartopy.crs as ccrs 
import matplotlib.pyplot as plt 

ax = plt.axes(projection=ccrs.PlateCarree()) 
ax.coastlines() 

plt.show() 

所有线路正常运行,但只要我运行plt.show()命令,我得到了以下错误消息:

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1539, in __call__ 
    return self.func(*args) 
    File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 278, in resize 
    self.show() 
    File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 349, in draw 
    FigureCanvasAgg.draw(self) 
    File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py", line 469, in draw 
    self.figure.draw(self.renderer) 
    File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper 
    draw(artist, renderer, *args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/matplotlib/figure.py", line 1079, in draw 
    func(*args) 
    File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper 
    draw(artist, renderer, *args, **kwargs) 
    File "/home/mrvaita/python_workspace/gis_venv/local/lib/python2.7/site-packages/cartopy/mpl/geoaxes.py", line 359, in draw 
    inframe=inframe) 
    File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper 
    draw(artist, renderer, *args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/matplotlib/axes/_base.py", line 2092, in draw 
    a.draw(renderer) 
    File "/usr/lib/python2.7/dist-packages/matplotlib/artist.py", line 59, in draw_wrapper 
    draw(artist, renderer, *args, **kwargs) 
    File "/home/mrvaita/python_workspace/gis_venv/local/lib/python2.7/site-packages/cartopy/mpl/feature_artist.py", line 113, in draw 
    {}) 
    File "/usr/lib/python2.7/weakref.py", line 433, in setdefault 
    return self.data.setdefault(ref(key, self._remove),default) 
TypeError: unhashable type: 'MultiLineString' 

是否有人已经对此有所了解? 我的matplotlib版本是1.4.2,Cartopy版本是0.13.0

非常感谢您的帮助。

回答

4

这是在https://github.com/SciTools/cartopy/issues/682汇报了Cartopy问题跟踪器的问题。基本上,匀称改变的几何形状的hashability 1.5.12和1.5.13之间。解决办法,直到我们有cartopy的一个新版本,是你的身材匀称的安装降级到1.5.12。

HTH

+0

工作正常!非常感谢你! – mrvaita

相关问题