

VS CodeでPython3.6.5を走らせています。スクリプトで`import matplotlib.pyplot as
plt`としていますが、`plt.show()`を行ってもプロットのウインドーは出るのですが、何も描画されずウインドーは全面真っ白のままです。エラーメッセージは出ません。

`plt.show()`の前には各種の処理をしてその結果を例えば`plt.plot(x, y,
label="result")`などのコードを入れてあります。以前IDLEで走らせた時には出ていました。今はHomebrew、Pyenvで構築しVS
Codeを入れています。

### 追記

次のような簡単なコードでもプロットが出てきません。

[code]

    import numpy as np
    import matplotlib.pyplot as plt
    
    # 折れ線グラフを出力
    left = np.array([1, 2, 3, 4, 5])
    height = np.array([100, 300, 200, 500, 400])
    plt.plot(left, height)
    
[/code]

そしてVSCodeの下にあるターミナルウインドーには、

[code]

    /Users/user1/Desktop ; env "PYTHONIOENCODING=UTF-8" "PYTHONUNBUFFERED=1" /Users/user1/.pyenv/versions/3.6.5/bin/python /Users/user1/.vscode/extensions/ms-python.python-2018.10.1/pythonFiles/experimental/ptvsd_launcher.py --client --host localhost --port 50736 /Users/user1/Desktop/test.py iMac:Desktop user1$
    
[/code]

と出ています。

何が原因かご教示お願いいたします。


CC BY-SA 4.0
2018-11-12T13:39:58.643
50254
2018-11-15T04:49:33.757
2018-11-14T20:04:06.253
19110
30959
question
python matplotlib
plt.show()を行ってもプロットできない


IDLEで走らせると表示されるが、Pyenv+VSCodeの環境では簡単なコードでもプロットが出力されないということであれば、コードの問題ではなく使用している環境の問題だと推測されます。

PyenvもVSCodeも便利なツールなのですが、ブラックボックスになっている部分があるので、思い通りに動作しない場合には調べるのに手間がかかります。今回の場合、IDLEで走らせる場合と条件が違ってくるものには次のようなものがあります。

  * 中間にデバッガー ptvsd_launcher.py が入っている影響
  * VSCodeの設定ファイル`launch.json`, `sttings.json`の影響
  * PyenvでインストールしたPythonは、公式からダウンロードしたPythonとは全く同じではない影響
  * matplotlibの設定ファイルが環境が違うと変わる影響
  * PyenvをインストールするとPATHの先頭に`$HOME/.pyenv/bin`を追加するのでその影響

この問題を解決するには、最初に、これらの条件を変えてどこに問題があるかを見つける必要があります。IDLEで走らせると表示されるということなので、IDLEの代わりにVSCodeで走らせてみてプロットが出力されるかどうかから始めてみるといいと思います。


CC BY-SA 4.0
2018-11-15T04:49:33.757
50348
2018-11-15T04:49:33.757
15171
50254
answer