2016-02-28 10 views
14

私はmatplotlibには本当に初めてではありません。私は、できるだけ早く簡単に解決策を得るためのツールとして常に使用してきたことを認めて非常に恥ずかしいです。だから私は基本的なプロット、サブプロットやものを得る方法を知っているし、時々再利用されるかなりのコードを持っている...しかし、私はmatplotlibの "深い(知識)"がありません。matplotlibの理解:plt、figure、ax(arr)?

最近、私はこれを変更してチュートリアルを通して自分自身を動作させるべきだと思っていました。しかし、私はまだmatplotlibs pltfig(ure)およびax(arr)について混乱しています。本当に違いは何ですか?私はちょうどpyplot as pltを使っている人を見ると、直接plt.plotでプロットプロットするいくつかの「quick'n'dirty」のほとんどのケースで

、私はかなり頻繁にプロットするために、複数のものを持っておりますので、私は頻繁にf, axarr = plt.subplots()を使用...しかし、ほとんどのあなただけのコードがaxarrにデータを入れて図fを無視してご覧回

だから、私の質問は次のとおりです。?matplotlibので動作するようにクリーンな方法は何であるだけpltを使用する場合は、何であるかfigureは何をする必要がありますサブプロットにはデータが含まれているべきですか?または、スタイリング、プロットのクリア、サブプロット内などのすべてに対して、有効で優れたプラクティスですか?

これは広範囲ではないことを願っています。基本的には、plt < - >fig < - >ax(arr)の本当の目的のための助言をお願いしています

チュートリアルもお待ちしております。 matplotlibのドキュメントは私にとってはむしろ混乱しています。凡例を再スケーリングするのと同じように、本当に特定のものを検索すると、公式のドキュメントは本当に正確ですが、むしろ一般的な情報は私の意見では良くありません。あまりにも多くの異なる例、目的の実際の説明は...すべての可能なAPIメソッドと引数の大きなリストのように見えます。

+0

http://matplotlib.org/faq/usage_faq.html#parts-of-a-figureは開始するのに適しています。 – tacaswell

答えて

9

pyplotは、matplotlib(matplotlibで多くを行う最高レベルのAPI)の「スクリプト」レベルのAPIです。 MATLABを使用して同様の方法で手続き型インタフェースを使用してmatplotlibを使用することができます。 pyplotには、すべての関数が(@tacaswell dixit)に委譲する「現在の図形」と「現在の軸」という概念があります。したがって、モジュール上で利用可能な機能を使用する場合、pyplotは '現在の図形'と '現在の軸'にプロットしています。

プロットする場所の細かい制御が必要な場合は、FigureAxesのインスタンスを使用してオブジェクト指向のAPIを使用する必要があります。

pyplotで利用可能な機能は、Axesと同等のメソッドです。レポanatomy of matplotlibから

  • Figureは、この階層の最上位のコンテナです。すべてが描画されるのは全体的なウィンドウ/ページです。複数の独立した図形を持つことができ、Figureは複数のAxesを含むことができます。

しかし...

  • ほとんどのプロットはAxesで発生します。軸は事実上、データをプロットする領域であり、関連するティック/ラベル/ etcです。通常、subplot(通常のグリッドにAxesを配置)を呼び出してAxesを設定します。ほとんどの場合、AxesSubplotは同義です。

  • Axesは、XAxisおよびYAxisを有する。あなたはこのlink訪問することができ、プロットの解剖学を知りたい場合は、これらはダニ、ダニの位置、ラベルなど

が含まれています。

0
  • pyplotはプロットMATLABスタイルを気にしない人のためのオブジェクト指向API MathWorks社のMATLABに精通しており、迅速かつ汚いプロット
  • figureを作りたい人のためのAPIのようなMATLABされている

どちらか一方を使用することはできますが、両方を同時に使用することはできません。

+0

'pyplot'はOO APIの観点から完全に実装されているので、混在して一致させることができます。 – tacaswell

+0

'' pyplot'と 'figure'の違いはどこですか? 'pyplot'はウィンドウ全体に表示され、ウィンドウに含まれる画像だけが表示されます。 – daniel451

+0

一般に、iPythonの 'pyplot'です。 Pythonスクリプトの 'figure'。あなたはミックスとマッチすることができますが、私はそれが非常に魅力的であるとは思わない。 – Hun

関連する問題