在 pyqtgraph 中进行鼠标交互后将缩放恢复为默认级别

Restore zoom to default level after mouse interactions in pyqtgraph

有没有办法恢复 pyqtgraph 图的默认缩放级别。我知道图中显示的小按钮(图的左下角)可以恢复默认缩放级别。我需要的是当特定事件发生时,我想从代码中恢复它(在我放大或缩小之后)。

我查看了 pyqtgraph 文档,但找不到任何类似的函数。

这是最小的可重现代码:

from PyQt5 import QtGui  
import pyqtgraph as pg
import numpy as np

app = QtGui.QApplication([])
w = QtGui.QWidget()
btn = QtGui.QPushButton('press me')
text = QtGui.QLineEdit('enter text')
listw = QtGui.QListWidget()
plot = pg.PlotWidget()

layout = QtGui.QGridLayout()
w.setLayout(layout)
layout.addWidget(btn, 0, 0) 
layout.addWidget(text, 1, 0) 
layout.addWidget(listw, 2, 0) 
layout.addWidget(plot, 0, 1, 3, 1) 

x = np.random.normal(size=1000)
y = np.random.normal(size=1000)
plot.plot(x, y, pen=(2,3), symbol='d')

w.show()

app.exec_()

如果调用了the source code is analyzed, it is observed that when the button you indicate is pressed, the enableAutoRange()方法,那么就是必须使用的方法:

from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph as pg
import numpy as np

if __name__ == "__main__":

    app = QtGui.QApplication([])
    w = QtGui.QWidget()
    btn = QtGui.QPushButton("press me")
    text = QtGui.QLineEdit("enter text")
    listw = QtGui.QListWidget()
    plot = pg.PlotWidget()

    btn.clicked.connect(lambda: <b>plot.getPlotItem().enableAutoRange()</b>)

    layout = QtGui.QGridLayout()
    w.setLayout(layout)
    layout.addWidget(btn, 0, 0)
    layout.addWidget(text, 1, 0)
    layout.addWidget(listw, 2, 0)
    layout.addWidget(plot, 0, 1, 3, 1)

    x = np.random.normal(size=1000)
    y = np.random.normal(size=1000)
    plot.plot(x, y, pen=(2, 3), symbol="d")

    w.show()

    app.exec_()