前提
Windows 10において、VSCodeでJupyter Notebookを開いてデータを分析するケースを想定しています。
Python:3.10.9 (pyenv)
仮想環境:poetry
発生した現象
下記のように<Figure size 640x480 with 1 Axes>
と表示され、画像が表示されないという現象です。
試したこと
1.こちらの記事を参考に、%maplotlib inline
を追加しましたが、解消せずでした。
https://qiita.com/umikazeken/items/57f82f69ed37a1d65110
2.こちらの2つの記事を参考に、matplotlib.use('TkAgg')
を追加してみましたが、別ウィンドウが表示されたままPythonカーネルがフリーズする現象が起きてしまい、解消しませんでした。
https://qiita.com/bakanaouji/items/cac72da8d0a478766f0e
https://matplotlib.org/stable/users/explain/backends.html
3.次に問題の切り分けのために、VSCodeではなくJupyterLab上で当該ノートブックを開いてみたところ、画像は問題無く表示されていました。
解決方法
上記3.での切り分けの結果、VSCodeが怪しいということが分かりました。
色々と確認した結果、出力セルの左にある(1)「...」から(2)「プレゼンテーションの変更」を選択します。
そうすると、下記のようなパレットがVSCodeの上部に表示されます。ここで、image/png
のいずれかを選択することで、無事画像が表示されることを確認しました。
備考
どのようなきっかけで切り替わったのかは分かりませんが、ここ最近気になっていたので解決してすっきりしました。(何度か、仮想環境を作り直したりしていました・・・)
同じ現象に悩まされた場合は、上記を確認してみてください。それでは。