gpt4 book ai didi

python - 在 PyQtGraph 中反转 Y 轴

转载 作者:太空宇宙 更新时间:2023-11-03 14:55:45 24 4
gpt4 key购买 nike

我正在使用 Python 和 PyQt4 开发一个应用程序,根据深度绘制不同的参数。绘图包是 PyQtGraph,因为它具有良好的动画速度特性。因为我是针对深度绘图的,所以我想反转 Y 轴。我发现我可以 modify the ViewBox class in the PyQtGraph's documentation .所以我从我的 Python Site Packages 文件夹中修改了类的代码。但我希望能够从我的应用程序代码中修改类,而不必修改 PyQtGraph 的代码 (invertY=True)。原因是我想要一些带有倒置 Y 轴的 PlotWidgets 而有些则没有。有什么办法可以在下面的代码中这样做吗?我没能通过 getting the ViewBox 做到这一点在代码中:

import sys
from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg
import random
import time

app = QtGui.QApplication([])
p = pg.plot()
curve = p.plot()

##initialize the arrays
data = []
data.append(random.random())
n = []
n.append(time.clock())

##define the plotting function
def update():

data.append(data[-1] + 0.2 * (0.5 - random.random()))
n.append(time.clock())
curve.setData(data,n)
time.sleep(0.1)

timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(0)

if __name__ == '__main__':

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

最佳答案

在您的例子中,curve 是一个 PlotDataItem。要获取 PlotDataItem 的 View 框,请使用其 getViewBox() 方法。然后 viewbox 有一个 invertY方法。

p = pg.plot()
curve = p.plot()
curve.getViewBox().invertY(True)

关于python - 在 PyQtGraph 中反转 Y 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42694752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com