# move gaussian to the clicked point
import matplotlib.pyplot as plt
from pdb import set_trace
import numpy as np
import sys
sys.path.append('/home/jk/jk/python/xpswork')
from multi_gauss import multiGauss as Gauss
x = np.linspace(0, 2*3.14, 100)
guess = [100, 3, 0.5]
y = Gauss(x, *guess)
def onPress(event):
global guess
print(event.xdata, event.ydata)
guess = [event.ydata, event.xdata, guess[2]]
y = Gauss(x, *guess)
pnt.set_data(x, y)
pnt.figure.canvas.draw()
fig, ax = plt.subplots()
pnt, = ax.plot(x, y)
pnt.figure.canvas.mpl_connect('button_press_event', onPress)
ax.plot(x, Gauss(x, *[guess[0] + 50, guess[1], guess[2]]))
ax.set_title('Mouse Events')
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()
Like this:
Like Loading...
Related