当使用matplotlib和cartopy的NorthPolarStereo投影进行绘图时,恒定纬度的网格线(平行线)不是平滑的圆。

这是一个最小的工作示例:

from matplotlib import pyplot
import cartopy.crs

ax = pyplot.axes(projection=cartopy.crs.NorthPolarStereo())
ax.set_extent((-180, 180, 60, 90), crs=cartopy.crs.PlateCarree())
ax.gridlines()

pyplot.show()


python - 如何使用matplotlib在Cartopy极地立体图中绘制平滑网格线?-LMLPHP

如您所见,平行线是点之间的一系列直线段。每条线上的点不足以使它们显得平滑。如何使平行线更圆?

最佳答案

问:如何使平行线更圆?

答:您需要由n_steps创建的gridliner对象的gridlines()属性的较大值。它的默认值是30。这是将值设置为90并生成更好曲线的相关代码。

gl = ax.gridlines(draw_labels=False, xlocs=None, ylocs=None)
gl.n_steps = 90


参见参考文献here

样本输出:

python - 如何使用matplotlib在Cartopy极地立体图中绘制平滑网格线?-LMLPHP

关于python - 如何使用matplotlib在Cartopy极地立体图中绘制平滑网格线?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57096694/

10-12 22:42