我正在研究神经元的Hodgking-Huxley模型,我喜欢创建一个滑块来查看通过改变一些固定参数产生的结果,比如最大电导。曲线图是V和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)重点是,我可以创建滑块,但当我使用它时,绘图中没有任何变化。
发布于 2014-03-13 23:20:35
这个example对你有效吗(请看最高分的答案)。
他们提出了一些与您所做的类似的建议,但以下是不同之处:
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对象。我希望这会有一些用处!
https://stackoverflow.com/questions/22382188
复制相似问题