我现在使用xarray数据集在全球Map上用cartopy绘制流线,但是流线在穿越dateline的时候不连续,有没有人知道怎么解决这个问题,代码(只有streamplot部分)和输出图如下:
wnd = xr.merge([u[::2,::2],v[::2,::2]])
proj = ccrs.PlateCarree(central_longitude = 180)
fig, ax = plt.subplots(1,1,
subplot_kw={'projection': proj},
figsize=(12,7))
wind_plt = wnd.plot.streamplot(ax=ax,
transform=ccrs.PlateCarree(),
x='longitude', y='latitude',
u='u', v='v',
arrowsize=2,arrowstyle='->',
color="black",
)
ax.coastlines(color = 'dimgray')
ax.set_extent([0,360,-90,90],crs=ccrs.PlateCarree())
ax.set_xticks(np.arange(0, 361,90), crs=ccrs.PlateCarree())
ax.set_yticks(np.arange(-90,91,45), crs=ccrs.PlateCarree())
ax.set_xlabel(' ')
ax.set_ylabel(' ')
ax.set_title(' ')
ax.text(70, 30, '03-12', fontsize = 14, transform=ccrs.PlateCarree())
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_visible(False)
plt.axis('off')
plt.savefig('0312.png', bbox_inches = 'tight', pad_inches = 0)
plt.close()
谢谢你,欢迎所有的意见!
1条答案
按热度按时间ux6nzvsh1#
我怀疑您的流线(流线图数据:X,Y,U,V)未创建为填充绘图区所需的完整范围。或者,未正确创建。
这是我的演示代码,它显示了来自一组良好数据的完整流图,供您尝试。
请注意,我的数据流图是完整的,因此,将没有差距周围的日期变更线。