matplotlib Schieberegler für Parameter
Ich habe versucht, eine Funktion mit zwei Parametern grafisch darzustellen, die variiert werden können, um ein unterschiedliches Verhalten zu erkennen. Ich möchte einen Schieberegler verwenden, um die Parameter zu variieren.
Bei meiner Suche bin ich auf Schieberegler gestoßen, die die Achsen ändern, aber nicht Teile einer mathematischen Funktion.
Ich habe also folgenden Code, der funktionieren sollte, wenn meine beiden Parameter Gmax und Km die Achsen wären:
from matplotlib.widgets import Slider
import numpy as np
Gmax=1
Km= 1
def f(S):
s1 = Gmax*S #G_max
e1 = S + Km #K_m
return divide(s1,e1)
S=arange(0,100,0.1)
ax = subplot(111)
subplots_adjust(left=0.15, bottom=0.25)
l = plot(f(S))
grid(False)
title('Playing with sliders')
xlabel('time')
ylabel('concentration')
axcolor = 'lightgoldenrodyellow'
axGmax = axes([0.15, 0.1, 0.65, 0.03], axisbg=axcolor)
axKm = axes([0.15, 0.15, 0.65, 0.03], axisbg=axcolor)
sGmax = Slider(axGmax, 'Gmax', 0.1, 3.0, valinit=1)
sKm = Slider(axKm, 'Km', 0.01, 1.0, valinit=1)
def update(val):
s1 = Gmax*S * sGmax.val
e1 = S + Km * sKm.val
l.set_ydata(y)
ax.set_ylim(y.min(), y.max())
draw()
sGmax.on_changed(update)
sKm.on_changed(update)
show()
Ich schätze, meine Frage ist, ob es einen Befehl für Parameter anstelle des Axe-Befehls für Achsen-Schieberegler gibt. Oder ob es einen anderen Weg gibt?