假設我有兩個視圖\繪製在pyqtgraph創建,然後他們被鏈接。 使用線鏈接到查看更改軸範圍pyqtgraph
p2.setYLink('Plot1')
p2.setXLink('Plot1')
問題是,當我們鏈接的意見,雙方意見的範圍都相等,作爲一個陰謀似乎太多縮小或者放大其中提出的問題。 我們只是想將視圖鏈接到一起放大,但不希望範圍隨着情節改變而改變。
下面是示例代碼,說明了該問題視覺
import sys
from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
#QtGui.QApplication.setGraphicsSystem('raster')
try:
app = QtGui.QApplication(sys.argv)
except RuntimeError:
app = QtCore.QCoreApplication.instance()
x1 = [1,2,3,4,5]
y1 = x1
x2 = [10,20,30,40,50]
y2 = x2
win = pg.GraphicsWindow(title="pyqtgraph example: Linked Views")
win.resize(800,600)
win.addLabel("Linked Views", colspan=2)
win.nextRow()
p1 = win.addPlot(x=x1, y=y1, name="Plot1", title="Plot1")
p2 = win.addPlot(x=x2, y=y2, name="Plot2", title="Plot2: Y linked with Plot1")
p2_state = p2.vb.getState()
p1_state = p1.vb.getState()
p2.setLabel('bottom', "Label to test offset")
p2.setYLink('Plot1') ## test linking by name
p2.setXLink('Plot1')
app.exec_()
你還沒有完全指定你想要的行爲:1)你是否希望兩個視圖總是顯示相同的比例(所以'xmax1-xmin1 == xmax2-xmin2'),或者你只是想要scale * changes * in一種觀點可以反映在另一種觀點中? 2)如果我放大一個視圖,那麼其他視圖應該放大到什麼點才能匹配?通常縮放是在鼠標點擊點附近,但對於其他視圖來說,這是沒有意義的。 – Luke
所以我在腦海裏想的是: 1.兩個視圖都不應該顯示相同的比例。它應該像他們應該有適合的視圖來顯示情節。在我給出的例子中,如果有一個情節在看,那麼另一個情節就會消失。因此,我認爲應該將其中一個狀態改變爲另一個狀態。 2.嗯,我認爲我的痛點是w.r.t.第一種情況。第二種情況,如果它困擾你w.r.t.然後請讓我知道更多的細節,以便我可以就此提供進一步的意見。 – Versatile