2017-03-09 78 views
2

私はPythonとPyQt4で深度に対して異なるパラメータをプロットするアプリケーションを開発しています。プロットパッケージはPyQtGraphです。その理由は、アニメーションの速度が優れているからです。私は深さに対してプロットしているので、Y軸を反転させたい。私はmodify the ViewBox class in the PyQtGraph's documentationできることがわかった。だから私はPython Site Packagesフォルダからクラスのコードを変更しました。しかし、私は自分のアプリケーションコード内からクラスを修正し、PyQtGraphのコード(invertY=True)を変更する必要がないようにしたいと考えています。その理由は、逆Y軸を持つPlotWidgetsと、逆Y軸を持つPlotWidgetsが必要なことです。たとえば、次のコードで私がそうすることができる方法はありますか? 、あなたのケースではPyQtGraphでY軸を反転する

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_() 

答えて

2

curvePlotDataItemです:私は、コード内でgetting the ViewBoxでそれを行うことができませんでした。 PlotDataItemのビューボックスを取得するには、getViewBox()メソッドを使用します。ビューボックスにはinvertYメソッドがあります。

p = pg.plot() 
curve = p.plot() 
curve.getViewBox().invertY(True) 
関連する問題