栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

维护maptlotlib FuncAnimation的一个颜色条

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

维护maptlotlib FuncAnimation的一个颜色条

我想这个想法是在更新功能之外创建一个轮廓图,并给它一个颜色条。然后,轮廓图将需要具有定义的级别,并且需要定义颜色范围。

ax.contourf(..., levels=levels, vmin=zmin, vmax=zmax)

其中

zmin
zmax
是要显示的最小和最大数据,
levels
是要使用的级别的列表或数组。

然后,在动画功能内部,您将只使用相同的参数创建一个新的轮廓图,而完全不触摸颜色栏。

import numpy as npimport itertoolsimport matplotlib.pyplot as pltimport matplotlib.mlab as mlimport matplotlib.animation as animationdef f(x,y,a):    return a*(x**2+y**2)avals = list(np.linspace(0,1,10))xaxis = list(np.linspace(-2,2,9))yaxis = list(np.linspace(-2,2,9))xy = list(itertools.product(xaxis,yaxis))xy = np.array(list(map(list,xy)))x = xy[:,0]y = xy[:,1]zlist = []for a in avals:    z = []    for i, xval in enumerate(x):        z.append(f(x[i],y[i],a))    zlist.append(z)xi = np.linspace(min(x),max(x),len(x))yi = np.linspace(min(y), max(y), len(y))zmin = min([min(zl) for zl in zlist])zmax = max([max(zl) for zl in zlist])levels = np.linspace(zmin, zmax,41)kw = dict(levels=levels, cmap=plt.cm.hsv, vmin=zmin, vmax=zmax, origin='lower')fig,ax = plt.subplots()zi = ml.griddata(x, y, zlist[0], xi, yi, interp='linear')contourplot = ax.contourf(xi, yi, zi, **kw)cbar = plt.colorbar(contourplot)def animate(index):    zi = ml.griddata(x, y, zlist[index], xi, yi, interp='linear')    ax.clear()    ax.contourf(xi, yi, zi, **kw)    ax.set_title('%03d'%(index))ani = animation.FuncAnimation(fig,animate,10,interval=200,blit=False)plt.show()



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号