前言
这个博文可以说是承接前几篇的MPU6050数据读取、姿态解算,这里主要是实现姿态的可视化(也是课程作业要求,爬了)。
鉴于博主喜欢摸鱼的特点,这个实现也是ddl前几天完成的,由于网上没找到具体实现,只好用极坐标这个沙雕方法硬算出来。
将matplotlib嵌入PyQt5
matplotlib提供了在Qt中进行显示的一个backend(应该是?),这个方法基本上是网上统一这么实现(狗头)。
将matplotlib嵌入PyQt5一般是将其下面的matplotlib.backends.backend_qt5agg中的FigureCanvasQTAgg作为一个自己创建的类(可以理解为画布)(如这里的MyFigure)的父类,然后将自己创建的MyFigure类作为一个Widget放入QMainWindow或其他容器中(如QGroupBox)。
这里的代码是直接根据这篇博文进行修改的。
import matplotlib
matplotlib.use("Qt5Agg") # 声明使用QT5
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
class MyFigure(FigureCanvas):
def __init__(self, width=5, height=4, dpi=100):
# 第一步:创建一个创建Figure
self.fig = Figure(figsize=(width, height), dpi=dpi)
# 第二步:在父类中激活Figure窗口
super(MyFigure, self).__init__(self.fig) # 此句必不可少,否则不能显示图形
self.ax = self.fig.add_subplot(111)#放置坐标系
self.ax.plot([0,1,