Я разрабатываю приложение с Python и PyQt4, которое отображает различные параметры в зависимости от глубины. Пакет для построения графиков — PyQtGraph из-за его хороших характеристик скорости анимации. Поскольку я рисую по глубине, я хочу инвертировать ось Y. Я обнаружил, что могу изменить класс ViewBox в документации PyQtGraph. Поэтому я изменил код класса из папки Python Site Packages. Но я хотел бы иметь возможность изменять класс из кода моего приложения и не изменять код PyQtGraph (invertY=True
). Причина в том, что мне нужны PlotWidgets с перевернутой осью Y, а некоторые без нее. Есть ли способ сделать это, например, в следующем коде? Мне не удалось сделать это, получив 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_()