matplotlib - 如何使用滑块更改我的图形

时间:2014-02-21 18:04:33

标签: python matplotlib

所以,我有一些实验数据,我用matplotlib绘制了一些漂亮的图表(如果你感兴趣,它是来自仙女座中心的微透镜数据) 图表看起来像这样:(只有更大的PDF格式) Graph of microlensing event

(数学)函数不太正确,所以我想添加一个滑块来改变(数学)函数(蓝线)的参数,如正弦波的幅度,相位和高度峰值等。共有七个参数。我该怎么做呢?感谢。

The full code is here

返回y轴值的(python)函数在这里:

def mysinfunction(fbase, deltaf, t0, thalf, amplitude, T, phase, x):
    A = fbase+(deltaf/(math.sqrt(1+12*((x-t0)/thalf)**2)))+(amplitude*math.sin((2*pi*x/T)-phase))
    return A

这些是通过在时间轴上定期间隔并将这些点馈入(python)函数mysinfunction,然后作为列表存储并根据时间轴绘制该列表来绘制的:

i = 0
while (i < n):
    xfunction.append(i*interval+xData[0])
    i = i + 1

i = 0
while (i < n):
    x = float(xfunction[i])
    if (ans == "y"):
        yfunction.append(mysinfunction(fbase, deltaf, t0, thalf, amplitude, T, phase, x))
    else:
        yfunction.append(myfunction(fbase, deltaf, t0, thalf, x))
    i = i + 1

同样添加一个按钮以便点击之后(这会运行一个减小的平方函数并输出带有振幅等新值的值)也很棒。 我知道这是一个很大的问题,但我希望有人可以帮助我开始这个,谢谢。

0 个答案:

没有答案