【发布时间】:2017-11-18 11:23:46
【问题描述】:
我想同步几个 pyqtgraph 图的 X 轴。当用户通过鼠标交互重新缩放 X 轴时(例如,鼠标在 x 轴上时滚轮)我想将相同的更改分配给所有其他图。那么我该怎么做呢?
我从下面的基本示例中导出了一个最小化的代码。
我是否必须覆盖w1 和w2 的viewRangeChanged() 函数?
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph.console
import numpy as np
from pyqtgraph.dockarea import *
win = QtGui.QMainWindow()
area = DockArea()
win.setCentralWidget(area)
win.resize(1000,500)
win.setWindowTitle('pyqtgraph example: dockarea')
d1 = Dock("Dock1")
d2 = Dock("Dock2")
area.addDock(d1, 'bottom')
area.addDock(d2, 'bottom', d1)
w1 = pg.PlotWidget(title="Dock 1 plot")
w1.plot(np.random.normal(size=100))
d1.addWidget(w1)
w2 = pg.PlotWidget(title="Dock 2 plot")
w2.plot(np.random.normal(size=100))
d2.addWidget(w2)
win.show()
## Start Qt event loop unless running in interactive mode or using pyside.
if __name__ == '__main__':
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
此问题有后续here 对此问题的另一个答案。
【问题讨论】: