在tkinter中使用matplotlib

一 代码

  1. import sys
  2. import tkinter asTk
  3. import matplotlib
  4. from numpy import arange, sin, pi
  5. from matplotlib.backends.backend_tkagg importFigureCanvasTkAgg,NavigationToolbar2TkAgg
  6. from matplotlib.backend_bases import key_press_handler
  7. from matplotlib.figure importFigure
  8. matplotlib.use('TkAgg')
  9. root =Tk.Tk()
  10. root.title("matplotlib in TK")
  11. #设置图形尺寸与质量
  12. f =Figure(figsize=(5,4), dpi=100)
  13. a = f.add_subplot(111)
  14. t = arange(0.0,3,0.01)
  15. s = sin(2*pi*t)
  16. #绘制图形
  17. a.plot(t, s)
  18. #把绘制的图形显示到tkinter窗口上
  19. canvas =FigureCanvasTkAgg(f, master=root)
  20. canvas.show()
  21. canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
  22. #把matplotlib绘制图形的导航工具栏显示到tkinter窗口上
  23. toolbar =NavigationToolbar2TkAgg(canvas, root)
  24. toolbar.update()
  25. canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
  26. #定义并绑定键盘事件处理函数
  27. def on_key_event(event):
  28. print('you pressed %s'% event.key)
  29. key_press_handler(event, canvas, toolbar)
  30. canvas.mpl_connect('key_press_event', on_key_event)
  31. #按钮单击事件处理函数
  32. def _quit():
  33. #结束事件主循环,并销毁应用程序窗口
  34. root.quit()
  35. root.destroy()
  36. button =Tk.Button(master=root, text='Quit', command=_quit)
  37. button.pack(side=Tk.BOTTOM)
  38. Tk.mainloop()
二 运行结果

 

猜你喜欢

转载自cakin24.iteye.com/blog/2387966