149

私は IPython を使用してい--pylab=inlineますが、プロットを表示するためにインタラクティブでズーム可能な matplotlib GUI にすばやく切り替えたい場合があります (端末の Python コンソールで何かをプロットするとポップアップするもの)。どうすればそれができますか?できれば、ノートブックを離れたり再起動したりせずに。

IPy ノートブックのインライン プロットの問題は、解像度が制限されており、拡大して小さい部分を確認できないことです。ターミナルから起動する maptlotlib GUI を使用すると、拡大したいグラフの四角形を選択でき、それに応じて軸が調整されます。で実験してみました

from matplotlib import interactive
interactive(True)

interactive(False)

しかし、それは何もしませんでした。オンラインでもヒントは見つかりませんでした。

4

9 に答える 9

179

ドキュメントによると、次のように前後に切り替えることができるはずです。

In [2]: %matplotlib inline 
In [3]: plot(...)

In [4]: %matplotlib qt  # wx, gtk, osx, tk, empty uses default
In [5]: plot(...) 

これにより、通常のプロットウィンドウがポップアップ表示されます(ノートブックでの再起動が必要になる場合があります)。

これがお役に立てば幸いです。

于 2013-01-11T11:35:29.277 に答える
80

インライン プロットからインタラクティブに切り替えて (パン/ズームできるように) 戻したいだけの場合は、%matplotlib マジックを使用することをお勧めします。

#interactive plotting in separate window
%matplotlib qt 

そしてhtmlに戻ります

#normal charts inside notebooks
%matplotlib inline 

%pylab マジックは、他の多くのものをインポートし、競合が発生する可能性さえあります。「from pylab import *」を行います。

新しいノートブック バックエンド (matplotlib 1.4 で追加) を使用することもできます。

#interactive charts inside notebooks, matplotlib 1.4+
%matplotlib notebook 

グラフのインタラクティブ性を高めたい場合は、mpld3bokehを参照してください。mpld3 は、大量のデータ ポイント (例: <5k+) がなく、通常の matplotlib 構文を使用したいが、 %matplotlib notebook と比較してよりインタラクティブにしたい場合に最適です。Bokeh は多くのデータを処理できますが、別のライブラリであるため、構文を学習する必要があります。

また、pivottablejs をチェックアウトすることもできます (pip install pivottablejs)

from pivottablejs import pivot_ui
pivot_ui(df)

インタラクティブなデータ探索がいかに優れていても、再現性を完全に台無しにする可能性があります。それは私に起こったので、非常に早い段階でのみ使用し、データの感触をつかんだら、純粋なインライン matplotlib/seaborn に切り替えるようにしています。

于 2014-12-08T12:24:27.637 に答える