当前位置: 代码迷 >> python >> Python:在pyqtgraph中,如何获取PlotWidget的轴范围
  详细解决方案

Python:在pyqtgraph中,如何获取PlotWidget的轴范围

热度:55   发布时间:2023-06-13 17:15:28.0

我正在处理 pyqtgraph 的情节。 有一个内置函数 viewRange() 返回视图框的轴范围,而不是绘图本身。 是否有任何函数或变量存储绘图的轴范围?

您可以从 AxisItem 访问轴范围。 这是示例代码。

import sys
from pyqtgraph.Qt import QtGui #from PyQt4 import QtGui
import pyqtgraph

# make window
app = QtGui.QApplication(sys.argv) # construct a QApplication (must).

mw = QtGui.QMainWindow()
mw.resize(800,800)
mw.setWindowTitle('my qt window')

# make view
view = pyqtgraph.GraphicsLayoutWidget()
# view.show()
mw.setCentralWidget(view)
mw.show()

# make plot area
w1 = view.addPlot(title = "my plot area")

# plot data
# mkPen(color,width,name)
w1.addLegend(offset=(0, 0))
w1.plot([0,1,2,3,4],[3,6,5,8,7],pen=pyqtgraph.mkPen(1, width=1),name="foo")
w1.plot([0,1,2,3,4],[5,7,6,2,9],pen=pyqtgraph.mkPen(2, width=1),name="bar")

axX = w1.getAxis('bottom')
print('x axis range: {}'.format(axX.range)) # <------- get range of x axis
axY = w1.getAxis('left')
print('x axis range: {}'.format(axY.range)) # <------- get range of y axis

sys.exit(app.exec_())

请注意,该范围将为您提供当前视图限制(例如,如果您放大了),您可以通过以下方式获得当前视图范围和完整的 x/y 轴限制:

plot.getViewBox().state

这是一个带有很多有用参数的字典。