时间:2020-08-02 python教程 查看: 1159
pyqtgraph官方给的示例居然会报错2333
官方文档传送门:#####pyqtgraph export
pyqtgraph支持在可视化窗口中右键保存(Exporting from the GUI)试了一下只能保存为svg格式,
保存为png会闪退不知道是我这里的原因还是这里有bug,我希望直接生成图片(Exporting from the API)
先查看本地site-packages里面有test文件,里面有生成svg的版本画出来的图是svg格式只能放在浏览器看不能改后缀名
而我希望生成png之类的图片
折腾了一下终于弄了一个能跑的出来:
from __future__ import division, print_function, absolute_import
import pyqtgraph as pg
import pyqtgraph.exporters
import numpy as np
def test_plotscene():
pg.setConfigOption('foreground', (255,255,255))
w = pg.GraphicsWindow()
p = w.addPlot()
p.plot(np.linspace(0.0, 20.0, 20), pen={'color':'w'})
p.setXRange(0,20)
p.setYRange(-10,20)
app = pg.mkQApp()
app.processEvents()
ex = pyqtgraph.exporters.ImageExporter(w.scene())
ex.export(fileName="test.png")
if __name__ == "__main__":
test_plotscene()
补充知识:pyqtgraph.GraphicsObject结构及用法
pyqtgraph.GraphicsObject官方文档 源文件
class pyqtgraph.GraphicsItem(register=True)
可以为GraphicsObject and GraphicsWidget提供有用方法的抽象类(Abstract Class)
Abstract Class
抽象类:不能实例化的类。
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念。
正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。
以上这篇python pyqtgraph 保存图片到本地的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。