先看看我们要实现的效果:
这是一个基于机器学习的数据分析结果展示,可以看到元素包括了坐标轴标注,两条折线和图例。
为了实现在PyQt中画图,我们用到了pyqtgraph这个绘图库,它是完全python实现的,与PyQt程序可以完美融合,并且具备很多优势:
- 拥有丰富的图形种类;
- 能够快速地实时更新绘图数据;
- 能够进行交互式的操作;
- 多种标记功能;
接下来进入正题,开始使用pyqtgraph来实现我们要的图形。
安装
PyQtGraph的安装很简单,使用pip就可以直接安装:
pip install pyqtgraph
PyQtGraph自带一个丰富的示例模块,我们在命令行中输入:
python -m pyqtgraph.examples
即可启动官方Demo集合,效果如下:
建议先看看效果,然后有需要的demo再把代码复制出来到pycharm之类的IDE编辑,这个软件里面的字体实在太难看了,直接在里面看得瞎了。
在PyQt中集成pyqtgraph图形
在PyQtGraph中,有几种绘制图形的方法:
- pyqtgraph.plot():创建一个新的绘图窗口来显示数据;
- PlotWidget.plot():将一组新的数据添加到现有的绘图小部件;
- PlotItem.plot():将一组新的数据添加到现有的绘图小部件;
- GraphicsLayout.addPlot()