Ipython3を使用して、デフォルトのmatplotlibバックエンド 'TKAgg'とvirtualenvを使用してデータをプロットしています。私は新しいウィンドウでそれを示す私のデータをプロットするplot_scriptを持っており、それはしばらくの間働いています。その後、タブを使用してステートメントを自動完成させると、リンクされた画像に表示されるエラーメッセージが表示されてしまいます。 Aggバックエンドを使用すると、コースは終了しますが、データを調べる必要があるため(ズームインなど)、非常に面倒です。IPython + matplotlibのオートコンプリートが 'RuntimeError:メインスレッドにメインスレッドがありません'
Screenshot of the Ipython Window
私はおそらくスレッドがどのように動作するか理解していないのですが、非常に簡単ですplot_scriptで関数を使用しながら、GUIウィンドウを取得する方法があってはならないことを実現します。基本的に、私はちょうどplot_script.plot_something(pd.DataFrame)で関数を呼び出していますし、プロットがdiplayedさ:
from matplotlib import pyplot as plt
def plot_something(data):
fig, ax = plt.subplots(2,2)
.... # Plot something
fig.savefig()
plt.show()
plt.close(fig)
fig.clear()
どのように私はメインループに私のプロットを移動し、これはipythonに問題があるのですか?
ありがとうございました。今は起動時に '%gui tk'と '%matplotlib tk'を使用します。異なる行動に慣れていなければなりません;)。週末までにエラーを気付かない場合、または2回目の発言が正しければ、私はあなたの答えを受け入れます。 – philster
悲しいことに私はupvoteできません.... 15repの上に私が推測することはありません;) – philster
何か心配、何か助けになることを喜んで。ヒント:他のスタック交換サイトにサインアップしてください。十分な数だけサインインすると100リペアになります。 – Matt