Matplotlib Mollweide/Hammer 投影:仅感兴趣区域

Matplotlib Mollweide/Hammer projection: region of interest only

我想知道是否有一种方法可以仅显示基于底图 (matplotlib) 中 Mollweide/Hammer 投影的绘图中的感兴趣区域。

我正在尝试将绘图边界大致设置为太平洋板块,如下面的 link 所示。但是,set_xlim 和 set_ylim 函数似乎没有任何作用。在此先感谢您的指导。

http://geology.gsapubs.org/content/29/8/695/F1.large.jpg

根据文档,HammerMollweide 投影都不允许这样做,因为它们会打印出整个世界地图。这是一些使用 Polyconic 投影的代码,但它以直线为界。这里的技巧是在创建时定义拐角的经度和纬度。

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np

my_map = Basemap(projection='poly', lat_0=0, lon_0=-160,
    resolution = 'h', area_thresh = 0.1,
    llcrnrlon=140, llcrnrlat=-60,
    urcrnrlon=-100, urcrnrlat=60)

plt.figure(figsize=(16,12))

my_map.drawcoastlines()
my_map.drawcountries()
my_map.fillcontinents(color='coral', lake_color='aqua')
my_map.drawmapboundary(fill_color='aqua')

my_map.drawmeridians(np.arange(0, 360, 20))
my_map.drawparallels(np.arange(-90, 90, 10))

plt.show()

结果:

请注意,这实际上显示的区域小于您提供的图片中的区域。