有没有办法恢复 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经过分析,观察到当您指示的按钮被按下时, 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: plot.getPlotItem().enableAutoRange())
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_()
关于python - 在pyqtgraph中鼠标交互后将缩放恢复到默认级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60520613/