我一直在许多论坛中寻找此答案,但没有任何帮助。所以这是我的问题: 我有一个从Tkinter在画布上绘制Matplotlib图的函数。运行良好。但是我要使输入常量。我的意思是我希望用户输入一个完整的列表。 实际上,想象一个很大的列表,我只想绘制列表的'x'最后几行。因此,我需要得到主菜,但是我的问题是它忘记了主菜的价值
elif x == 5:
can.create_text(240,170, fill='black', text = "Depuis combien d'année souhaitez vous le graph ?", font=('Times', -20, 'bold'))
texte1 = Label(racine, text = "Interval d'années")
texte1.grid(row = 8+y*9, column = 3,sticky='s')
Interval = Entry(racine)
Interval['fg']='red'
Interval['bg']='grey'
Interval.grid(row = 9+y*9,column=3,sticky='n')
can.create_text(160,205, fill='black', text = 'Entrez le mois ici ------>', font=('Times', -20, 'bold'))
bouton_graph = Button(racine, text = 'Tracer', command= graph_canvas)
bouton_graph.grid(row = 8+y*9, column = 4, rowspan = 2)
所以在这里,我在函数“ graph_canvas”之前创建了条目。 然后在此函数中创建图表,然后我需要提取用户已在条目中输入的信息
def get_back_values(L):
"Dummy function"
x = Mois_Temperatures(L)[2]
y1 = Mois_Temperatures(L)[0]
y2 = Mois_Temperatures(L)[1]
print('test',x,len(y1),len(y2))
return x, y1, y2
def update_graph(dt):
A= Interval.get()
L = Liste_en_Nombres('TMPARIS.csv')[0:A]
x, y1, y2 = get_back_values(L)
ax1.clear()
ax1.set_ylim(Max_Min(L)[3], Max_Min(L)[1], auto=False)
ax1.set_xlim(1, x, auto=False)
ax1.set_ylabel('Temperature en C', color='b')
ax1.set_xlabel('Les {0} derniers Mois'.format(y1[len(y1)-1]), color='black')
ax1.plot(y1, y2, 'r-o')
def graph_canvas():
graph = FigureCanvasTkAgg(fig, master=racine)
can= graph.get_tk_widget()
can.grid(row=0, column=0, rowspan = 10)
FuncAnimation(fig, update_graph)
但是有错误:
Interval is not defined
感谢您的帮助,我迷路了