我正在使用底图中定义的Hammer投影(我使用底图的版本而不是直接在maptplotlib中定义的版本,因为能够更改lon_0参数)。
但我的目标是表示从地面生成的天空地图,因此绘制地图(地面)的南半球是没有意义的。
https://dl.dropboxusercontent.com/u/66372761/skymap.png
我想要的(或多或少)
https://dl.dropboxusercontent.com/u/66372761/skymap_crop.png
有没有办法用这个底图模块实现这个目的?一种选择当然是保存图像,然后用p.e.来裁剪它。 imagemagick,但这似乎有点难看的解决方法,由于轴标签等原因,结果将远非完美。
我看到有人设法通过matplotlib的自定义投影matplotlib: custom projection for hemisphere/wedge获得了类似的东西,但是它使用标准的matplotlib,而不是底图模块。
PS。我使用的是Python 2.7,matplotlib 1.3.1和底图1.0.7。
提前致谢, 米格尔
答案 0 :(得分:2)
通常,仅显示地图的一部分的方法是使用height, width, lat_0
构造函数中的lon_0
和Basemap()
参数。但是,锤子投影会忽略除lon_0
参数之外的所有参数,这意味着以您想要的方式裁剪图像的唯一方法是在图像由底图创建之后裁剪图像或使用不同类型的投影