pyqtgraph的出口商改变了情节组成部分

时间:2018-02-16 09:52:37

标签: python plot pyqt pyqtgraph

我有一个示例代码,它生成一对标准散点图,其中包含X和& Y.对于我正在进行的项目,我们不能使用matplotlib,而是坚持使用pyqtgraph(它是PyQt项目的一部分)。

from PyQt4 import QtGui
import pyqtgraph as pg
import pyqtgraph.exporters
import numpy as np

x = np.random.normal(size=100)
y = np.random.normal(size=100)

app = QtGui.QApplication([]) # create the application
w = QtGui.QWidget() 
pwidget = pg.PlotWidget()

pwidget.addLegend(size=(100, 10)) # add a legend

pwidget.plot(x, y, pen=None, symbol="o", name="My Data") # plot the data

line = pg.InfiniteLine(angle=45, movable=False) # add a line through origin
pwidget.addItem(line)

pwidget.setXRange(-3, 3)
pwidget.setYRange(-3, 3)

layout = QtGui.QGridLayout()
w.setLayout(layout)
layout.addWidget(pwidget)
w.show()

app.exec_()

现在这段代码运行得很好,它应该做什么。这是弹出窗口的屏幕截图: Scatterplot as it should be

但是,当尝试这样导出时:

exporter = pg.exporters.ImageExporter(pwidget.plotItem)
exporter.export('D:/file_example.png')

我收到以下错误:

  

文件   " C:\ OSGeo4W64 \应用\ Python27 \ LIB \站点包\ pyqtgraph \出口\ ImageExporter.py&#34 ;,   第70行,在出口       bg = np.empty((self.params [' width'],self.params [' height'],4),dtype = np.ubyte)TypeError:'浮'对象不能被解释为   索引

Dr. Google告诉我这可能是我(必须)使用的版本的错误,并且有手动设置宽度和高度的解决方法。所以我更新了这样的代码:

exporter = pg.exporters.ImageExporter(pwidget.plotItem)
exporter.params.param('width').setValue(1024, blockSignal=exporter.widthChanged)
exporter.params.param('height').setValue(860, blockSignal=exporter.heightChanged)
exporter.export('D:/file_example.png')

以下令人不安的结果:

Shifted result, components are "off track"

我玩exporter.params,但没有改变结果。 任何想法都非常感谢,谢谢!

0 个答案:

没有答案