【问题标题】:Python pyqtgraph how to set x and y axis limits on graph, no autorangePython pyqtgraph如何在图形上设置x和y轴限制,没有自动范围
【发布时间】:2015-06-18 08:34:22
【问题描述】:

我想知道如何设置为 pyqtgraph.GraphicsWindow.addPlot 对象显示的 x 和 y 轴限制。我需要在一个循环内显示大量数据(因此使用 pyqtgraph),但我宁愿预先分配我的轴,而不是允许自动范围来提高速度。例如,

from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
app = QtGui.QApplication([])
win = pg.GraphicsWindow(title="My plotting examples")
win.resize(1000,600)
win.setWindowTitle('pyqtgraph example: Plotting')
p1 = win.addPlot(title="plot1")
p2 = win.addPlot(title="plot2")
curve1 = p1.plot(pen='y')
curve2 = p1.plot(pen='r')
curve3 = p2.plot(pen='b')
x = np.linspace(0,10,1000)
x_current = x[0]
p1.setXRange((5,20), padding=0)
for i in range(1,len(x)):
    x_current = np.append(x_current,x[i])
    curve1.setData(x_current,np.sin(x_current))
    curve2.setData(x_current,np.cos(x_current))
    curve3.setData(x_current,np.tan(x_current))
    app.processEvents()

if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

问题在于p1.setXRange((5,20),padding=0) 行。这会导致错误:TypeError: setXRange() take at least 3 arguments (3 given)

我认为这应该是一个非常简单的问题,只是在绘图之前设置轴范围。

【问题讨论】:

    标签: python graph plot axis pyqtgraph


    【解决方案1】:

    如错误消息所示,您没有为setXRange() 提供正确数量的参数。正确的行应如下所示:

    p1.setXRange(5, 20, padding=0)
    

    文档here

    【讨论】:

    • padding=0 谢谢!
    【解决方案2】:

    迈克尔。

    最简单的方法是将范围指定为列表的元素。将p1.setXRange 替换为如下内容:

    p1.setRange(xRange=[5,20])
    

    就是这样!

    查看此类的文档: http://www.pyqtgraph.org/documentation/graphicsItems/viewbox.html#pyqtgraph.ViewBox.setRange

    【讨论】:

      【解决方案3】:

      这些问题询问如何设置对这一点的回答都没有回答的观点的限制。对于遇到这种情况的其他人,绘图视图可以限制为轴的一部分,如下所示:

      p1.plotItem.vb.setLimits(xMin=a, xMax=b, yMin=c, yMax=d)
      

      文档: http://www.pyqtgraph.org/documentation/graphicsItems/viewbox.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-16
        • 2012-09-06
        • 1970-01-01
        • 2013-07-09
        • 1970-01-01
        • 1970-01-01
        • 2011-11-06
        相关资源
        最近更新 更多