我正在使用matplotlib底图工具包来处理圆形立体图。 我总是在顶部,底部和左侧,右侧获得裁剪的地图边界。示例代码:
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
m = Basemap(projection='spstere', boundinglat=-60, lon_0=180,
lat_ts=-71, round=True, ellps='WGS84')
m.drawparallels(np.arange(-90.,-60.0, 10.), linewidth=0.1)
m.drawmeridians(np.arange(-180.,181.,45.), linewidth=0.1, latmax=90)
m.drawmapboundary(linewidth=2, color='k')
plt.savefig("test.png",dpi=600, transparent=True)
plt.show()
这导致:
我用红色椭圆(顶部和左侧)标记了切下的部分。如果更改“ linewidth”参数,这没有什么不同。
是否有解决此问题的方法,以使边界线宽均匀? 感谢您的任何帮助和建议!
答案 0 :(得分:1)
定义地图边界的圆被使用中的实际轴裁剪。您可以使用clip_on
选项使其不被裁剪。
circle = m.drawmapboundary(linewidth=2, color='k')
circle.set_clip_on(False)
示例代码如下所示
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
m = Basemap(projection='spstere', boundinglat=-60, lon_0=180,
lat_ts=-71, round=True, ellps='WGS84')
m.drawparallels(np.arange(-90.,-60.0, 10.), linewidth=0.1)
m.drawmeridians(np.arange(-180.,181.,45.), linewidth=0.1, latmax=90)
circle = m.drawmapboundary(linewidth=2, color='k')
circle.set_clip_on(False)
plt.savefig("test.png",dpi=600, transparent=True)
plt.show()