使用pyqtgraph的三种方式
pyqtgraph提供了三种方式来进行pyqtgraph图像的绘制和调用,分别是:
- 命令行控制台调用
- 直接显示图像窗口
- 嵌入在PyQt部件
下面逐一进行介绍:
在命令行终端调用pyqtgraph
在命令行终端对pyqtgraph进行调用非常简单,首先在命令行界面进入Python Shell,然后引入pyqtgraph模块,再使用pyqtgraph的绘图方法就可以直接生成一个图形窗口:
在这里,我们使用numpy模块生成了一个10位数的随机数组。然后使用plot()方法进行绘制,得到结果如下:
一个简单的pyqtgraph图形就绘制成功。为了简单演示,这个图形有些许简陋。
这种绘制方式除了简单之外,似乎一无是处,确实是的,在终端中使用pyqtgraph进行图形绘制,只是方便演示而已。下面我们看看直接在Python代码中显示pyqtgraph图形。
在Python代码中绘制pyqtgraph图形
如果我们新建一个文件,将之前在命令行终端中输入的代码放进去运行,会发现一个GUI窗口一闪而过就消失了。
import pyqtgraph as pg
import numpy as np
x = np.random.random(10)
pg.plot(x,title='州的先生zmister.com PyQtGraph教程')
嗯,这样的代码绘制了图形,但是并没有执行GUI窗口,所以图形窗口一闪而过就没有。
如果要让GUI窗口执行下去,我们还需要再加一句代码:
pg.QtGui.QGuiApplication.exec_()
继续运行代码,结果就正常了:
将pyqtgraph图形嵌入在PyQt部件中
这种方式就是将pyqtgraph绘制的图形作为一个部件或子窗口,嵌入到PyQt程序中。
具体的使用方法,在《Python GUI教程(十三):在GUI中使用pyqtgraph绘图库》中有详细介绍,在此就不另述。
文章版权所有:州的先生博客,转载必须保留出处及原文链接
你好,我最近使用pyqtgraph遇到问题了,问题表现在,我写了个上位机记录单片机通过串口发给电脑的数据,并将数据存入数据库,问题就在于当我用上位机从数据库中读取保存的数据,并且用pyqtgraph显示出来的时候,随着数据量的增多,电脑内存占用会逐渐加大,直到最后爆掉,我试过屏蔽掉self.plotWidget_ted.plot(y=b, x=a, pen='b')这句话,也就是说不画图,内存就不会有变化了,请问是什么原因导致的呢,是画图的时候,把那些点写入到系统内存里了吗,我上位机在读取数据的时候是循环读取,循环加载,加载完成,会清除掉已经读取的数据,希望大佬帮我帮帮我 谢谢