2013-04-24 19 views
7

実行時にPyQTウィンドウ内に埋め込みmatplotlibグラフを表示する必要がある単純なpythonスクリプトを作成しました。私はthisチュートリアルを使ってグラフを埋め込み、実行しました。命名規則の違いと全体的なUIの違いを除いて、私のグラフはチュートリアルのものと全く同じように生成されています。PyQtに埋め込まれたMatplotlibインタラクティブグラフ

私はこれをズームとドラッグを可能にするインタラクティブなグラフにしたいと思っていますが、私はマウス(クリックとドラッグ、スクロールホイールなど)とツールバーなしでこれを行いたいと思います私はそれが醜いと思う)。

ウィジェットクラス:

class MplCanvas(FigureCanvas): 
    """ 
    Creates a canvas on which to draw our widgets 
    """ 
    def __init__(self): 
     self.fig = Figure() 
     self.ax = self.fig.add_subplot(111) 

     FigureCanvas.__init__(self, self.fig) 
     FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding) 
     FigureCanvas.updateGeometry(self) 

class marketdephWidget(QtGui.QWidget): 
    """ 
    The market deph graph 
    """ 
    def __init__(self, parent = None): 
     QtGui.QWidget.__init__(self, parent) 
     self.canvas = MplCanvas() 
     self.vbl = QtGui.QVBoxLayout() 
     self.vbl.addWidget(self.canvas) 
     self.setLayout(self.vbl) 

プロット機能(ボタンを押し上で実行するには):

# initialize the mplwidgets 
def PlotFunc(self): 
    randomNumbers = random.sample(range(0, 10), 10) 
    self.ui.widget.canvas.ax.clear() 
    self.ui.widget.canvas.ax.plot(randomNumbers) 
    self.ui.widget.canvas.draw() 

答えて

2

それはしばらくしているが、私は同様の問題に取り組んでいました。私はexample hereを持っています。多分これが助けになるでしょう。

プログラムはPySideを使用していますが、問題はありません。

は、あなたがウィジェットのポップアップを見ることがプログラム

python pyStocker.py 

を実行すると、左上にあなたはTextEditボックスが表示されます。 GOOGなどの有効な株式記号を入力してEnterキーを押してください。グラフには株価データが入力されます。下のスライダバーは、グラフをリアルタイムで変更します。

関連する問題