我一直在很多论坛上寻找这个答案,但没有什么能帮助我 . 所以这是我的问题:我有一个函数在Tkinter的画布中绘制Matplotlib图 . 它工作得很好 . 但我已经使条目成为常量 . 我的意思是我希望用户输入一个将是未存在列表大小的int . 实际上想象一个大的列表,我想仅仅列出列表的'x'最后几行 . 因此我需要得到我的主菜但我的问题是它忘记了主菜的 Value
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
感谢任何帮助,我迷路了