问题在于,QuadContourSet对象无法更新其数据,因为如果您随意更改数据,则整个过程都需要重新计算。我不知道您的生成数据的特定方式是否会采用一种更简单的方法来修改轮廓线,但是如果没有,我认为您需要做的是从头开始绘制轮廓:
# After your "Define model parameters" blockdef compute_and_plot(ax, alpha): #Calculate grid values V, W = np.meshgrid(v,w) Z = (V**(beta))*(W**(1-beta)) X = x_bar + a + b*Z U = alpha*np.log(V) + (1-alpha)*np.log(X) - c*(W+V) CS = QuadContourSet(ax, V, W, U, 200) pyl.clabel(CS, inline=1, fontsize=10)# Plotfig = pyl.figure()pyl.title('Simplest default with labels')ax = fig.add_subplot(221)compute_and_plot(ax, alpha)#Define slider for alphaaxcolor = 'lightgoldenrodyellow'alpha_axis = pyl.axes([0.25, 0.15, 0.65, 0.03], axisbg=axcolor)alpha_slider = Slider(alpha_axis, 'Amp', 0, 1, valinit=.5)def update(ax, val): alpha = alpha_slider.val ax.cla() compute_and_plot(ax, alpha) pyl.draw()alpha_slider.on_changed(lambda val: update(ax, val))pyl.show()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)