在pyqtgraph中使用多个轴时,从下拉框中丢失轴

时间:2017-02-28 12:37:48

标签: python pyqtgraph

我有以下问题:当我创建多个视图,每个视图都有一个轴时,我无法使用鼠标右键从左侧的所有可用轴中选择 - > y轴 - >链接轴。由PlotWidget自动创建的ViewBox中可用的轴不可用于选择:在“链接轴:”下拉框中只能看到“轴1”和“轴2”。

DropDownbox with missing axis:

我做错了什么?

请参阅下面的代码我正在使用:

from pyqtgraph.widgets.PlotWidget import PlotWidget
import pyqtgraph as pg
import PyQt4

class Graph(PlotWidget):
  def __init__(self, parent=None):
    PlotWidget.__init__(self, parent)
    self._viewBoxes = [self.plotItem.getViewBox()]
    self._viewBoxes[0].register("axis 0")
    for i in xrange(2):
      vb = pg.ViewBox(name="axis %s" %(i+1))
      self.plotItem.scene().addItem(vb)
      vb.setXLink(self.plotItem)
      self._viewBoxes.append(vb)
    self._axes = [pg.AxisItem('left') for _ in xrange(3)]
    for c in zip(self._viewBoxes, self._axes):
      vb, ax = c
      ax.linkToView(vb)

    self._curves = [self.plotItem.plot()]
    for vb in self._viewBoxes[1:]:
      plotDataItem = pg.PlotDataItem()
      vb.addItem(plotDataItem)
      self._curves.append(plotDataItem)

    for p in self._viewBoxes[1:]:
      p.setGeometry(self.plotItem.vb.sceneBoundingRect())
      p.linkedViewChanged(self.plotItem.vb, p.XAxis)

    self._curves[0].setData(x=[1,2,3,4],y=[0,4,0,4], pen="b")
    self._curves[1].setData(x=[1,2,3,4],y=[0,1,2,1], pen="y")
    self._curves[2].setData(x=[1,2,3,4],y=[0,-8,8,7], pen="r")

app = PyQt4.QtGui.QApplication([])
graph1 = Graph()
graph1.show()
app.exec_()

0 个答案:

没有答案