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

时间:2017-02-16 00:17:54

标签: python pyqtgraph

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

2 个答案:

答案 0 :(得分:1)

您可以从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_())

答案 1 :(得分:0)

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

plot.getViewBox().state

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