2016-06-30 10 views
0

私はJupyter(IPython付き)を使用して、研究データや輸出データを分析しています。 Jupyterが提供するノートブックのアプローチが本当に好きです。長い時間をかけて実験を再訪すると、データがどのようにデータに対応しているかを簡単に確認できます。これはもちろん、インラインバックエンドを使用しています。jupyterノートブックでmatplotlib inlineとqtの両方を使用

しかし、私が新しいデータを探究したいときは、QTバックエンドを使用することをお勧めします。これは、インライン1よりも高速で、簡単に拡大・縮小したり、XとYの座標を左下隅に表示したりすることができます。さらに、QTバックエンドを使用して、インラインバックエンドで使用するxとyの限界を判断することができます。

私は%matplotlib notebookという魔法を使ってみましたが、それは単に遅すぎます。いくつかの実験では、インラインバックエンドですでに遅い~500のスペクトル(それぞれ〜1000データポイントで構成されています)をプロットしています。データポイントが少なくても、ノートブックバックエンドの使用は遅すぎます。

したがって、私は何かをプロットするたびに、QTバックエンドとインラインバックエンドの両方を使用したいと思います。 (したがって、データをプロットするセルを実行するたびに、インラインイメージを表示し、QTバックエンドウィンドウをポップアップする必要があります)。このようにして、私はノートブックにプロットの素晴らしい概観を残していますが、私のデータを簡単に探検することもできます。これを達成する方法はありますか?

答えて

0

これにより、インラインとQtConsoleの両方でplotSin関数を使用してプロットするQtConsoleを実行できます。

import matplotlib 
import numpy as np 
import matplotlib.pyplot as plt 
%matplotlib inline 

..

def plotChirp(Type, Exp, Rand): 

    # Orignal Chirp Funciton From: 
    # http://stackoverflow.com/questions/19410042/how-to-make-ipython-notebook-matplotlib-plot-inline 
    x = np.linspace(0, 3*np.pi, Rand) 
    plt.plot(x, np.sin(x**int(Exp))) 
    plt.title('A simple chirp ' + Type) 
    plt.show() 

..

plotChirp("A", 5, 200) # Plots inline if you choose 

enter image description here

%connect_info # For your own connection 
%qtconsole 

QtConsole開き、今あなたが外部にプロットするために、あなたの関数を呼び出すことができます。..

を使用して

enter image description here

は、ループ内で印刷することができますが、残念ながらプロットに重なっているようです。可能な解決策としてサブプロットを調べる。

%matplotlib qt 
for i in range(0,2): 

    if i == 0: 
     plotChirp("B",1, 400) 
    else: 
     plotChirp("c",6, 1000) 

enter image description here

+0

あなたの答えをいただき、ありがとうございます。しかし、これは私が探していたQT GUIウィンドウではありません。私は '%matplotlib qt'を使用したときにポップアップする同じウィンドウが必要です。* QTコンソールではありません。他のウィンドウのスケーリング、ズーム、および軸プロパティの変更機能はありません。 – tcpie

+0

QT Guiでスクロール機能を使って複数のプロットをスクロールすることができるので、この記事をチェックアウトすることができます:http://stackoverflow.com/questions/11563295/visualization-of-3d-numpy-array -frame-by-frame/11563414#11563414 –

関連する問題