pyqtgraph:调用PlotDataItem.setData给出TypeError:PySide.QtCore.QPointF .__ add__用错误的参数类型调用

时间:2015-11-11 18:33:24

标签: python pyside pyqtgraph

背景

  • 我正在使用pyqtgraph创建一个交互式程序来绘制和分析一些数据。

  • 相关事物的版本:

    • PySide版本1.2.1

      from PySide import QtGui, QtCore
      
    • pyqtgraph版本0.9.10(目前最新):

      from <my own package>.external import pyqtgraph
      
    • 在Ubuntu 14.04.3 LTS上

    • Python 2.7.6

代码结构

  • self.w.dotPlotpyqtgraph.PlotWidget对象
  • 我这样画了一个方框:

    self.timeBox = self.w.dotPlot.plot(x=self.baseTimeBoxX,y=self.baseTimeBoxY,...)
    

    其中:

            from numpy import r_
            self.baseTimeBoxX = r_[0.0,0.0,100.0,100.0,0.0]
            self.baseTimeBoxY = r_[-1.0,1.0,1.0,-1.0,-1.0]
    
  • self.w.timeBox因此是pyqtgraph.graphicsItems.PlotDataItem.PlotDataItem

  • 的一个实例
  • 当用户点击图表时,我想只在X方向移动框。为此,我找出clickedXCoord,将其添加到self.baseTimeBoxX,现在想要更新self.w.timeBox以使用这些x坐标。为此,我打电话给

    self.w.timeBox.setData(
        x=(clickedXCoord+self.baseTimeBoxX),
        y=self.baseTimeBoxY
    )
    

问题

这是我得到的追溯:

 Traceback (most recent call last):
  File "doesntMatter.py", line <whatever>, in _moveTimeBox
    self.w.timeBox.setData(x=(clickedXCoord+self.baseTimeBoxX),y=self.baseTimeBoxY)
TypeError: 'PySide.QtCore.QPointF.__add__' called with wrong argument types:
  PySide.QtCore.QPointF.__add__(numpy.ndarray)
Supported signatures:
  PySide.QtCore.QPointF.__add__(PySide.QtCore.QPointF)

我尝试过的事情

  • 我没有使用PlotDataItem更改现有self.w.timeBox.setData中的数据,而是尝试创建一个全新的数据:

    self.w.timeBox = self.w.dotPlot.plot(
    x=(clickedXCoord+self.baseTimeBoxX),
    y=self.baseTimeBoxY
    )
    

    我的错误基本相同

0 个答案:

没有答案