web-dev-qa-db-ja.com

MacのVisualStudioCodeにMatplotlibイメージが表示されない

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'))を保存することです。これは機能しているようです-画像は指定されたファイルの場所に保存されます。ただし、コードの実行後に画像が表示されるのを確認することをお勧めします。

4
thomassantosh

ターミナルから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を押すとアプリケーションが停止します。お役に立てれば。

3
Thomas Kühn

私は同じ問題に直面しました、そしてこれが私がそれを解決するためにしたことです。

コードはエラーなしで実行されますが、プロットも生成されず、手動で終了する必要があるため、何が起こっているのかを理解するのは困難です。 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バージョンを試してみると、うまくいくはずです。

0
wootman