ipythonノートブック--pylabインライン:プロットのズーム


82

インラインがアクティブになっている場合、プロットを拡大することはできますか?特に3Dプロットに関しては、回転とズームが必要な機能です。

回答:


90

mpld3のおかげで、インラインプロットのズームインを非常に簡単に有効にできます。

mpld3(pip install mpld3)をインストールして、これをノートブックに追加するだけです。

%matplotlib inline
import mpld3
mpld3.enable_notebook()

これで、プロットの左下にツールバーメニューが表示され、マウスズームを有効にできます:)


3Dプロットはまだサポートされていないようだ。github.com/jakevdp/mpld3/issues/223
テオT

3
これは素晴らしいことですが、より重い義務のプロット(たとえば、数百万のポイントを含むプロット)では、非常に遅いことを付け加える必要があります。

2
これをJupyterNotebook 4.2.2に実装しましたが、ズームインすると図が空白になりました。imshow()呼び出しに引数としてorigin = 'lower'を追加すると、修正されました。(例:imshow(res、origin = 'lower'、cmap = cm.gray))
DanGoodrick 2016

6
私にはうまくいきません。私が得ているJson serialization error
Gulzar

95

%matplotlib notebook代わりに%matplotlib inlineを使用できるようになり、プロットを操作できるようになります。


1
これは素晴らしいソリューションです。試してみても機能しない場合は、matplotlibのバージョンを確認してください。これはバージョン1.5で導入されたと思います
jpobst 2017年

サブプロットで期待したほどうまく機能しません。個々のサブプロットのズームとパンはできますが、プロット画像全体のサイズを拡大/縮小することはできません。公平を期すために、これは上記の元の質問ではありませんでした。
ijoseph 2017

1
@ijosephでは、画像全体のサイズを大きくすることもできます。プロットの右下隅をドラッグするだけです。
JoãoAbrantes 2017

4
すでに%matplotlibをインラインで呼び出している場合は、ノートブックを再起動する必要がある場合があります
Guido

3
「Javascriptエラー:IPythonが定義されていません」というエラーが表示されます
Ben

10

現在、最も近いのは、figsize関数を使用してより大きなサイズで再描画することです。それは私がそれを初めて使用しようとしたときに私を捕らえたインチ単位の寸法を期待しています。

HTML5を使用してプロットをライブで操作できるようにするリッチバックエンド用のプラントがいくつかありますが、準備が整うまでにはさらに数か月かかると思います。

ローカルコンピュータでノートブックを使用している場合、今のところ最も簡単なオプションはインラインモードを使用しないことである可能性があるため、プロットは個別のウィンドウとしてポップアップ表示されます。


1
はい、そうです-最近のバージョンのmatplotlibでは、nbaggバックエンドを選択できるようになりました。
トーマスK

9

mpld3は私のノートブックの実行を遅くしました。同じインタラクティブツールを提供するだけでなく、右クリックメニューでグラフを保存できるnbaggバックエンドを使用する方が良いことがわかりました。

import matplotlib
matplotlib.use('nbagg')
import matplotlib.pyplot as plt

2
私は正直に言って、これが最良の答えだと思います。mpld3やその他の機能よりもずっと良く見えます。
bznein


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.