У меня есть 2 графика, которые отображаются первоначально, когда вызывается plot_home(). Однако, когда я нажимаю на каждый сюжет, я хочу, чтобы он вызывал функцию python plot_parameter(), которая будет отображать другой сюжет, основанный на том, какой сюжет щелкнут.Отредактируйте новый сюжет при щелчке другого сюжета
Я пробовал написать этот код, но я не знаю, как определить, щелкнут ли первый сюжет или щелкнул второй сюжет. Если щелкнуть первый сюжет, я хочу построить график и, если щелкнуть второй график, я хочу построить другой график. Как сделать этот участок кликабельным так, чтобы он открывал другой сюжет при нажатии?
from flask import Flask
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import mpld3
app = Flask(__name__)
@app.route('/')
def home():
return plot_home()
def onclick(event):
print 'button=%d, x=%d, y=%d, xdata=%f, ydata=%f'%(event.button, event.x, event.y, event.xdata, event.ydata)
return plot_parameter()
@app.route('/')
def plot_home():
fig = plt.figure()
fig.set_size_inches(5,5)
parameter_values = [1,2,3,4]
axis = fig.add_subplot(211)
axis.plot(parameter_values,'g')
fig.canvas.mpl_connect('button_press_event', onclick)
parameter_values = [5,6,7,8]
axis = fig.add_subplot(212)
axis.plot(parameter_values,'g')
fig.tight_layout()
fig.canvas.mpl_connect('button_press_event', onclick)
mpld3.show()
@app.route('/')
def plot_parameter():
fig = plt.figure()
fig.set_size_inches(5,5)
if(first plot is clicked plot this graph)
parameter_values = [9,10,11,12]
axis = fig.add_subplot(211)
axis.plot(parameter_values,'g')
if(second plot was clicked plot this graph)
parameter_values = [13,14,15,16]
axis = fig.add_subplot(212)
axis.plot(parameter_values,'g')
mpld3.show()
if __name__ == '__main__':
app.run(debug=True)