python – 带底图的Matplotlib子图动画

python – 带底图的Matplotlib子图动画,第1张

概述我正在尝试生成随时间变化的温度变化的四面板动画.子图中的四个面板中的每一个都应该是动画地图;每个面板之间的差异是使用的数据.我已设法使用以下代码使用一组数据(没有子图)生成动画: import numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animationfrom mpl_toolkits. 我正在尝试生成随时间变化的温度变化的四面板动画.子图中的四个面板中的每一个都应该是动画地图;每个面板之间的差异是使用的数据.我已设法使用以下代码使用一组数据(没有子图)生成动画:

import numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animationfrom mpl_toolkits.basemap import Basemap#dummy temperature data with 10 time-stepsy=np.random.randn(10,60,100) fig = plt.figure()m = Basemap(projection='kav7',lon_0=0)lats=np.linspace(90,-90,y.shape[1])lons=np.linspace(-180,180,y.shape[2])lons,lats = np.meshgrID(lons,lats)m.drawparallels(np.arange(-90.,99.,30.),labels=[1,0])m.drawmerIDians(np.arange(-180.,180.,60.),labels=[0,1])m.drawcoastlines(linewidth=0.25)m.pcolormesh(lons,lats,y[0],cmap=plt.cm.bwr,shading='flat',latlon=True)def init():    m                                                                                                                                                                                                                                                                                                 def animate(i):    m.pcolormesh(lons,y[i],latlon=True)    return manim = animation.FuncAnimation(fig,animate,init_func=init,frames=10,interval=100) #interval = number of milliseconds between frames                                                                                                                                                                                                                                                                                                                       anim.save('movIE.mp4')

我已经查看了子剧情动画的大量示例(1,2,3),但仍然不知道如何使用Basemap.

解决方法 您的动画功能需要在图中的四个不同轴上更新四个不同的地图.

>创建四个面板:

fig,ax = plt.subplots(2,2)

轴被索引.我建议将它们放置在2×2布局中,它们被索引为2-d数组,因此将轴引用为ax [0] [0],ax [0] [1],ax [1] [0],和ax [1] [1]创建地图时.

>创建四个Basemap实例时,使用.将每个贴图指定给不同的轴
ax参数(docs).
>在动画功能中,更改每个轴的颜色.根据数据来分配颜色以映射m_i,如m_i.pcolormesh (docs)所示,如您的问题所示.

总结

以上是内存溢出为你收集整理的python – 带底图的Matplotlib子图动画全部内容,希望文章能够帮你解决python – 带底图的Matplotlib子图动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存