python tkinterでグラフを表示 表示される内容を更新させたい
matpolotlibをほとんど触ったことが無く、試行錯誤しながら作成しております。
最初にグラフが表示された後、設置したボタンでグラフを表示すると、最初に表示されたブラフの下に表示されてしまいます。
どんどんグラフが下に連なるのではなく、上に重なっていく形を探しています。
fig.clf()でfigureを初期化?してもダメ。そもそも、配置の仕方・考え方が間違っているのでしょうか。
どなたかご教示願います。
python
1import 省力 2 3root2 = tk.Tk() 4root2.geometry('400x350+100+150') 5root2.title('グラフ') 6 7fig = plt.figure() 8ax1 = fig.add_subplot(111) 9 10plt.plot(nyu_zika,color = 'green',label="当日") 11plt.plot(zennyu_zika,color = 'blue', label="前日") 12plt.title("時間帯別入館数(日)", fontsize = 14) 13plt.legend(loc="upper right") 14plt.xlabel('時間帯', fontsize = 12) 15plt.ylabel('入館数', fontsize = 12) 16 17canvas = FigureCanvasTkAgg(fig, master=root2) 18canvas.draw() 19canvas.get_tk_widget().pack() 20 21def btn_click_1(): 22 23 fig.clf() 24 25 plt.plot(nyu_zika,color = 'green',label="当日") 26 plt.plot(zennyu_zika,color = 'blue', label="前日") 27 plt.title("時間帯別入館数(日)", fontsize = 14) 28 plt.legend(loc="upper right") 29 plt.xlabel('時間帯', fontsize = 12) 30 plt.ylabel('入館数', fontsize = 12) 31 32 canvas = FigureCanvasTkAgg(fig, master=root2) 33 canvas.draw() 34 canvas.get_tk_widget().pack() 35 36def btn_click_2(): 37 38 global fig 39 fig.clf() 40 fig = plt.figure() 41 ax1 = fig.add_subplot(111) 42 43 plt.plot(nyu_syu_zika,color = 'green',label="当週") 44 plt.plot(zennyu_syu_zika,color = 'blue', label="前週") 45 plt.title("時間帯別入館数(週)", fontsize = 14) 46 plt.legend(loc="upper right") 47 plt.xlabel('時間帯', fontsize = 12) 48 plt.ylabel('入館数', fontsize = 12) 49 50 canvas = FigureCanvasTkAgg(fig, master=root2) 51 canvas.draw() 52 canvas.get_tk_widget().pack() 53 54def btn_click_3(): 55 56 fig.clf() 57 58 plt.plot(nyu_zika_tuki,color = 'green',label="当月") 59 plt.plot(zennyu_zika_tuki,color = 'blue', label="前月") 60 plt.title("時間帯別入館数(月)", fontsize = 14) 61 plt.legend(loc="upper right") 62 plt.xlabel('時間帯', fontsize = 12) 63 plt.ylabel('入館数', fontsize = 12) 64 65 canvas = FigureCanvasTkAgg(fig, master=root2) 66 canvas.draw() 67 canvas.get_tk_widget().pack() 68 69#ボタン 70btn_g_1 = tk.Button(root2, text='日',width=4, font=("Meiryo UI",11), bg="#d9d9d9",command=btn_click_1) 71btn_g_1.place(x=110, y=300) 72 73btn_g_2 = tk.Button(root2, text='週',width=4, font=("Meiryo UI",11), bg="#d9d9d9",command=btn_click_2) 74btn_g_2.place(x=160, y=300) 75 76btn_g_3 = tk.Button(root2, text='月',width=4, font=("Meiryo UI",11), bg="#d9d9d9",command=btn_click_3) 77btn_g_3.place(x=210, y=300) 78 79root2.mainloop() 80

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。