web-dev-qa-db-ja.com

matplotlibの良い、デフォルトのバックエンドは何ですか

カスタムmatplotlibrcをセットアップすることにしたので、matplotlibのバックエンドを選択する必要があります。他の追加パッケージをインストールする必要がないという点で最高のものは何ですか?

私はipython --pylab経由でmatplotlibを使用する傾向があるため、インタラクティブなウィンドウベースのプロットが必要です(そうでない場合はAggに切り替えることができません)。

WXAggを試してみましたが、これには(十分に)WXが必要です。

5
Dave

AggTkAggはどちらも、Pythonの標準ライブラリを超える依存関係を必要としません。

TkAggとマルチスレッドでいくつかの問題が発生したため、(plt.show()ではなく)ファイルに保存する必要がある場合は、代わりにAggを使用することをお勧めします(代わりにTkAggが下に表示されます)。

次の行を~/.config/matplotlib/matplotlibrcに追加します:

backend: TkAgg

または、次の行をpythonファイルに追加します。

import matplotlib
matplotlib.use('TkAgg') # MUST BE CALLED BEFORE IMPORTING plt
import matplotlib.pyplot as plt
6
matwilso

別のウィンドウでのプロットよりもmatplotlibを使用したインラインプロットの方が好きです。これにより、Pythonコードを微調整するときに、何をしているかを簡単に確認できるからです。

科学者向けPython IDE(spyder)はインラインプロットを実行できます。この機能を試すには、ターミナルを開いて次のように入力します。

Sudo apt install python2.7 python-matplotlib spyder ipython  

IPythonコンソールでipythonプロンプトが表示されたら、以下のコードをコピーして貼り付け、 Enter 実行するためのキー。

import matplotlib.pyplot as plt   
x, y = [-1, 12], [1, 4]  
plt.plot(x, y, marker = 'o')  

enter image description here

AtomのHydrogenパッケージをインストールしたAtomテキストエディターでも、インラインプロットを実行できます。 Atomインターフェイスは、matplotlibを使用したインラインプロットがすぐに機能するSpyderよりも構成が複雑であることがわかりました。 Atomを使用して他のプログラミング言語でもインラインプロットを作成したかったため、Atomでインラインプロットを開始しました。

0
karel