在python matplotlib上使用滑块更改函数的参数



我正在研究一个神经元的霍奇金-赫胥利模型,我喜欢创建一个滑块来查看通过改变一些固定参数(如最大电导)产生的结果。这个图是V vs t,它们都是数组,V是通过迭代计算的,其中包含了我想要使用的参数。过了一段时间,我创建了一个滑动条,但我可以改变它的参数定义。我已经看到了一些使用set_ydata的例子,但它们提供了完整的y轴函数作为参数,(我认为)在我的情况下是不可能的。

这就是我如何计算V,作为我想要改变的第一个参数,最后一部分是滑块:

#Modelo de Hodgkin-Huxley

import pylab as pl
import numpy as np
A = 1
  for i in range(1,len(time)):
    dV= A*V[i-1]
    V[i] = V[i-1]+dV
pl.clf()
pl.subplot(311)
pl.title('Hodgkin-Huxley Model')
l, = pl.plot(time,V)
def update(val):
    l.set_ydata(V)
    A = sA.val
axA = pl.axes([0.13, 0.02, 0.75, 0.02])
sA = pl.Slider(axA, "A", 0, 200, valinit=A, color='#AAAAAA')
sA.on_changed(update)

关键是,我可以创建滑块,但是当我使用它时,绘图中没有任何变化

这个例子适合你吗?

他们提出的建议与你所做的类似,但有以下不同之处:

from pylab import *
from matplotlib.widgets import Slider
#define the plot objects
#TODO
#define the update method
def update(val):
   #do your update here
   pass
#create the slider
samp = Slider(axamp, 'Amp', 0.1, 10.0, valinit=a0)
samp.on_changed(update)

可能无法工作的原因是您没有直接导入Slider对象。我希望这是一些使用!

相关内容

  • 没有找到相关文章

最新更新