2016-12-31 5 views
2

私はMatplotlibを学習しており、Jupyterノートブックを使用して私が学んだことのそれぞれを追跡しています。しかし、私はmatplotlibコードを持つ複数のセルを持っているので、問題に遭遇しました。私の最初のセルの1つで、私はplt.show()を実行し、セルの下にプロットを出力します。さらにページを下ろして、私は新しいポイントをプロットしたり、軸をリサイズしたりして、plt.show()を実行します。最初のセルの後に作成された元のプロットに変更が適用されます。新しいmatplotlibグラフをさらに表示するJupiterノートブック

実行中のセルの下に新しいプロットウィンドウを表示する方法はありますか?

(私がやりたい理由:最初のセルは、基本的な点群をプロットする方法を示す例かもしれませんが、私はこれを使って簡単なプロットを表示したいと思います。しかし、このプロットでは、私は別のプロットを見たい、あるいは同じプロットをやり直したい(私がプロットした元の点を維持できる - 全体をクリアする必要はない)が、この複雑なセルの下に新しい変更が追加されました)。

更新:

イメージ1では、コードの最初のセルを実行しました。グラフはセルの下に表示されます。ちょうど私がしたい。この第二の画像で enter image description here

、私は今のコード([3]をマーク)の下のブロックを実行しました。しかし、それが最初に作成された場所であるため、変更はその上にあるプロットに適用されます。しかし、私は新しいプロット、またはきれいな新しいプロットを望んでいませんが、ちょうど私が実行したセル[3]の下にそのプロットを表示する少なくともいくつかの方法。 enter image description here

+0

それがうまくいった!面白い。私はもともと '%matplotlib notebook'を作成しました。これは対話性を可能にするからです。しかし、元のプロットはまだ更新できるので、対話性はこの動作を示しています。したがって、各コードブロックの下に新しいプロットを作成するのではなく、元のプロットを更新するだけです。両方のソリューションを使って動作させるか、 '%matplotlib notebook'を使って、' plt.ioff() 'という行を追加して動作させることができました。しかし、新しいプロットとの対話性を持たせる方法があることを願っています。新しいプロットを強制するどんな方法? –

+0

あなたは素晴らしいです。それがうまくいって、ありがとう! –

+0

私はこれに印を付けることができるように答えるだけですか? –

答えて

2

コメントでは、対話性が可能であるため、%matplotlib notebookという魔法を使用していると述べました。

対話性の使用を中止することもできます。

見つけたら、対話性をオフにすることができますplt.ioff()。また、%matplotlib notebookの使用をやめて、代わりに%matplotlib inline(ノートブックの上部で呼び出されます)を使用することもできます。 %matplotlib inlineでは、plt.show()に電話する必要はありません。

しかし、インタラクティブ機能を使いたいとします。

だから、最初の図をプロットした後に新しい図を定義するだけです。これを行うには、最初のプロットの後のplt.figure()に、2番目のプロットのコードの前に呼び出します。

関連する問題