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

时间:2015-07-02 05:22:31

标签: python matplotlib matplotlib-basemap map-projections

我想知道是否有一种方法只能根据底图中的Mollweide / Hammer投影(matplotlib)显示感兴趣的区域。

我试图将地块边界大致设置为太平洋板块,如下面的链接所示。但是,set_xlim和set_ylim函数似乎没有任何效果。提前感谢任何指导。

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

1 个答案:

答案 0 :(得分:1)

从文档中,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()

结果:

enter image description here

请注意,这有效地显示的区域比您提供的图片中的区域少。