MacOSXのVisualStudioCodeエディターでいくつかの基本的なコードを実行しています。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 20, 100)
plt.plot(x, np.sin(x))
plt.show()
...これを実行した後、png/svgファイルの画像が表示されないようです。これも実行を停止せず、手動でプロセスを終了する必要があります。ただし、これをターミナルで直接実行すると(コード行ごとに各行)、結果のイメージが得られます。回避策の1つは、ファイル(plt.savefig( 'foo.png'))を保存することです。これは機能しているようです-画像は指定されたファイルの場所に保存されます。ただし、コードの実行後に画像が表示されるのを確認することをお勧めします。
ターミナルからmatplotlib
コードを実行すると、イメージをファイルに保存した後、同じ種類のアプリケーションのハングが発生します。この場合、常に私のために働いてきた1つの「回避策」は、ブロッキングをオフにすることです。基本的に、次のようにコードを変更します。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 20, 100)
plt.plot(x, np.sin(x))
plt.show(block=False)
input('press <ENTER> to continue')
完璧ではありませんが、画像は正しく保存され、ターミナルでENTER
を押すとアプリケーションが停止します。お役に立てれば。
私は同じ問題に直面しました、そしてこれが私がそれを解決するためにしたことです。
コードはエラーなしで実行されますが、プロットも生成されず、手動で終了する必要があるため、何が起こっているのかを理解するのは困難です。 python2.7 test.py
を実行してみました。これは機能し、プロットは生成されますが、python3 test.py
は機能しません。
だから、これがあなたがする必要があることです-
pip install matplotlib --upgrade
を実行して、matplotlibをアップグレードします。これで問題は解決しませんが、エラーが出力されるようになりました。
"RuntimeError:Pythonはフレームワークとしてインストールされていません"....。
したがって、最後に、問題を解決するには、 macOSでのMatplotlibの操作 を参照してください。
私はAnacondaを使用しているので、conda install python.app
を使用してから、pythonw
を使用してすべてのスクリプトを実行するだけです。また、FAQから特定のケースの解決策を見つけていただければ幸いです。
全体として、これはMatplotlibの問題であるため、アップグレード(または再インストール)して別のPythonバージョンを試してみると、うまくいくはずです。