PyQt / PySide简单的XY Plot小部件

时间:2016-01-08 08:07:55

标签: python plot pyqt pyside pyinstaller

我想为我公司开发的新硬件编写简单的GUI工具。我需要使用python,因为我的公司使用了很多旧库。 我的想法是现在使用Python和PyQt编写应用程序并使用pyinstaller将其部署到其他同事(在任何地方安装python都不是我们想要的)。到目前为止它工作得很好,但是当我尝试使用绘图库时,例如PyQwt,可执行文件的大小从大约15MB增加到120MB。我发现这是因为PyQwt支持NumPy。但是,我不需要NumPy来完成我的项目。

我发现了几个绘图工具,例如:PyQwt,Matplotlib,PyQtGraph 但是,他们都使用Numpy。

我的问题是:是否有PyQt / PySide的绘图工具或框架不需要Numpy?

我需要绘制的是简单的顺序数据。例如,传感器每秒传递一个温度,我想在y / t图中看到最后20个温度。

想要一个没有numpy的PyQwt。 PyQwt主页称NumPy是可选的。 最终是否可以以跳过numpy的方式配置PyInstaller?

非常感谢你的帮助!

我的系统: Windows 7的 PythonXY 2.7.10 PyQt4的

1 个答案:

答案 0 :(得分:2)

查看documentation,下至3.Fine Tune(可选):

  

到configure.py选项。

     

configure.py脚本有很多选项。命令:

     

python configure.py -h

     

显示可用选项的完整列表

然后查看这些选项,我可以看到如何禁用Numpy

  

检测选项:

--disable-numarray  disable detection and use of numarray [default
                    enabled]
--disable-numeric   disable detection and use of Numeric [default enabled]
--disable-numpy     disable detection and use of NumPy [default enabled]

因此,如果您在PyQwt目录时运行以下命令,则可以禁用Numpy

$:python configure.h --disable-numarray

如果您的要求是仅绘制简单的顺序数据,例如传感器读数与时间的关系,我建议您PyQtGraphreal time plotting的示例。

一般例子:

import pyqtgraph as pg
pw = pg.PlotWidget(name='My Graph')
horizontalLayout_Plot.addWidget(pw)
x,y = range(10),range(10)
pw.plot(x,y)