matplotlib の適切なデフォルトのバックエンドは何ですか?

matplotlib の適切なデフォルトのバックエンドは何ですか?

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

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

試してみましたWXAggが、これには(当然ながら)WX が必要です。

答え1

どちらもAggTkAggPython の標準ライブラリ以外の依存関係を必要としません。

TkAggとマルチスレッドでいくつか問題が発生したため、ファイルに保存するだけでよい場合( は不要plt.show())、代わりに を使用することをお勧めしますAgg(以下の の部分を に置き換えるだけですTkAgg)。

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

backend: TkAgg

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

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

答え2

import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(0,1,100)
y = np.sin(x)

plt.plot(x,y)
plt.show()

私の知る限り、PyQt5はMatplotlibに最適なバックエンドです。プログラムを実行した後でも編集が可能です。使用するには、

import matplotlib
matplotlib.use('Qt5Agg')

電話する前にまずこれを置いてください

import matplotlib.pyplot as plt

注意:PyQt5をインストールする必要があります

pip経由でインストールする場合は、コマンドを実行します。

pip install PyQt5

答え3

私は、別のウィンドウでプロットするよりも、matplotlib を使用したインライン プロットを好みます。Python コードを微調整しているときに、自分が何をしているのかがわかりやすくなるからです。

科学者のためのPython IDE(スパイダー) はインライン プロットを行うことができます。この機能を試すには、ターミナルを開いて次のように入力します。

sudo apt install python2.7 python-matplotlib spyder ipython # Python 2.x in Ubuntu 18.04 and earlier 

または

sudo apt install python3 python3-matplotlib spyder3 ipython3 # Python 3.x  

IPython コンソールの ipython プロンプトの後に、以下のコードをコピー/貼り付けし、Enterキーを押して実行します。

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

ここに画像の説明を入力してください

Atom 用の Hydrogen パッケージがインストールされた Atom テキスト エディターでも、インライン プロットを行うことができます。matplotlib を使用したインライン プロットがすぐに使用できる Spyder よりも、Atom インターフェイスの設定が複雑だと感じています。Atom を使用して他のプログラミング言語でもインライン プロットを作成したかったため、Atom でインライン プロットを開始しました。

関連情報