当前位置:首页 >> 脚本专栏

python pyqtgraph 保存图片到本地的实例

pyqtgraph官方给的示例居然会报错2333

官方文档传送门:#####pyqtgraph export

python pyqtgraph 保存图片到本地的实例

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()

python pyqtgraph 保存图片到本地的实例

补充知识:pyqtgraph.GraphicsObject结构及用法

pyqtgraph.GraphicsObject官方文档 源文件

class pyqtgraph.GraphicsItem(register=True)

可以为GraphicsObject and GraphicsWidget提供有用方法的抽象类(Abstract Class)

Abstract Class

抽象类:不能实例化的类。

在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

抽象类往往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念。

正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。

以上这篇python pyqtgraph 保存图片到本地的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。