我无法为cartopy geo轴添加功能。以下是gallery:
中的示例import cartopy
import matplotlib.pyplot as plt
def main():
ax = plt.axes(projection=cartopy.crs.PlateCarree())
ax.add_feature(cartopy.feature.LAND)
ax.add_feature(cartopy.feature.OCEAN)
ax.add_feature(cartopy.feature.COASTLINE)
ax.add_feature(cartopy.feature.BORDERS, linestyle=':')
ax.add_feature(cartopy.feature.LAKES, alpha=0.5)
ax.add_feature(cartopy.feature.RIVERS)
ax.set_extent([-20, 60, -40, 40])
plt.show()
if __name__ == '__main__':
main()
当我在家里的笔记本电脑上运行时,我只得到图中的空白地理轴(我可以看出因为范围是正确的,我可以看到图窗口左下角的坐标。但是 - 如果我在工作中运行同样的例子,那么所有内容都会在链接中按预期进行绘制。
我的感觉是存在某种依赖性问题,但我不知道从哪里开始。绝对没有任何警告或错误。
无论是在工作还是在我的笔记本电脑上,我都使用Python 2.7运行Windows 7 x64,并通过来自here
的Windows二进制文件安装了cartopy如果我自己绘制的东西就像一个等高线图,那么它确实会出现,但我认为从naturalearthddata.com获取数据,处理形状文件并将它们添加到轴之间会出现问题。
有没有人对从这个开始的地方有什么想法?
答案 0 :(得分:0)
之前我没有收到此错误,但是当我出于某种原因从IPython笔记本运行代码时出现此错误HTTPError: HTTP Error 404: Not Found
我最不得不做的是改变shapereader.py
中的第264行:
_NE_URL_TEMPLATE = ('http://www.nacis.org/naturalearth/{resolution}'
'/{category}/ne_{resolution}_{name}.zip')
要:
_NE_URL_TEMPLATE = ('http://www.naturalearthdata.com/'
'http//www.naturalearthdata.com/download/{resolution}'
'/{category}/ne_{resolution}_{name}.zip')
过去在多个地方推荐的内容包括here
有人提到,在最新版本中,cartopy已经将这个断开的链接修复为naturalearth,但我认为链接没有在我通过提到的windows二进制文件安装的cartopy版本中更新。我认为这个问题已经有了很好的记录,但由于某些原因,我无法看到到目前为止的实际错误。