python - 使用 python tkinter 绘制串行数据
问题描述
我想使用python tkinter构建一个GUI,它通过uart获取时间函数的串行数据并绘制它们;数据在 Y 轴上更新几次然后停止,而画布仍然是空的,没有图表,我做错了什么?
import tkinter as tk
import matplotlib.pyplot as plt
from matplotlib import style
plt.matplotlib.use("TkAgg")
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
from tkinter import ttk
import matplotlib.animation as animation
import numpy as np
import serial
import datetime
f=Figure(figsize=(5,5),dpi=150)
a=f.add_subplot(111)
def chart():
data= np.array([])
ser = serial.Serial()
ser.baudrate = 115200
ser.port = 'COM6'
ser.open()
x=ser.readline()
c=float(x[0:len(x)-2].decode("utf-8"))
data=np.append(data,c)
a.plot(float(data))
root= tk.Tk()
root.title("Real Time Plot")
root.configure(background='white')
root.geometry("1000x500")
canvas= FigureCanvasTkAgg(f)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.LEFT,fill=tk.BOTH)
toolbar=NavigationToolbar2Tk(canvas,root)
toolbar.update()
canvas._tkcanvas.pack(side=tk.LEFT,fill=tk.BOTH)
ani=animation.FuncAnimation(f,chart,interval=1000)
root.mainloop()
解决方案
推荐阅读
- firebase - 访问 Firestore 所需的项目 ID 错误
- amazon-web-services - 如果我在 AWS EC2 上打开一个公共端口以运行 slackbot,是否存在任何安全问题
- c# - 输入字符串的格式不正确,流畅的验证
- r - R - 一次替换和删除数据框或多列中的第一个和最后一个百分位数
- python-3.x - Python3多个等号在同一行
- javascript - 在谷歌地图街景API中标记地点类型
- bash - 为什么 echo "abc\r\c" 和 echo "abc\rc\c" && sleep 1 在 bash 中的行为不同?
- java - 如何在 Java 中运行 kubectl 命令
- java - 如何在改造中从列表中检索值
- python - 如何编写 Python 来获取所有 Gmail 邮件 ID?