だから、Windows用のubuntu(Linux用のWindowsサブシステム)では、プロットを表示するのではなく、Aggバックエンドを使用して画像を保存する必要があることを人々が示唆しているようです。
import matplotlib
matplotlib.use('Agg') # no UI backend
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.title('About as simple as it gets, folks')
#plt.show()
plt.savefig("matplotlib.png") #savefig, don't show
Plt.show()が実際に画像を表示する場所にどのように到達できますか?私の現在のオプションは、Windowsで/ mnt/c/Users/james/plots /の下にあるplot-148123456.pngをsavefigに保存し、Explorerウィンドウを開いて画像を表示するようにplot.show()をオーバーライドすることです。
そのフォルダーをホストし、ブラウザーを使用できると思います。
私の目標は、コードを変更せずに上記のコードのような単純な例を実行できるようにすることです。イメージをどこかにftpするなどです。ウィンドウにプロットを表示したいだけです。
誰かがそれを行うまともな方法を見つけましたか?
わかりましたので、次のように動作させました。 WindowsにUbuntuがあり、anaconda python 3.6がインストールされています。
Sudo apt-get update
Sudo apt-get install python3.6-tk
(使用しているpythonバージョンに異なるpython*-tk
depndingをインストールする必要がある場合があります)pip install matplotlib
(matplotlibの場合。しかし、他の多くのものも機能するようになりました)export DISPLAY=localhost:0.0
(~/.bashrc
に追加して永続的にします)とにかく、結局のところ、wslのubuntuで実行されているこのコードはそのまま機能しました。
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.title('About as simple as it gets, folks')
plt.show()
これはJupyterノートブックなどを使用して行う方が良いかもしれませんが、Linuxのサブシステム上のWindowsのUbuntuで基本的なコマンドラインpython matplotlib機能を使用すると便利です。
2019-09-04の編集:今日、いくつかのライブラリをアップグレードした後、「スクリーンリソースを取得できません」という問題が発生していました。そこで、VcXsrvをインストールし、Xmingの代わりにそれを使用しました。 https://sourceforge.net/projects/vcxsrv/ からインストールし、xlaunch.exeを実行して、複数のウィンドウを選択し、次の次の次のOKをクリックします。その後、すべてが機能しました。
MatplotlibをWindows上のUbuntuでのBashでGTKAggと連携させるには、次のようにします。
export DISPLAY=localhost:0.0
(永続化するには〜/ .bashrcに追加)]Sudo pip uninstall matplotlib
Sudo apt install python-matplotlib
が続きますbackend : GTKAgg
(backend : agg
ではなく)を読み取るようにmatplotlibrcを更新Sudo apt-get install python-gtk2-dev
も実行しましたが、これは必要ないかもしれません。pipにインストールされたmatplotlibをアンインストールし、aptを使用して再インストールする は、pipにはGTKの実行に必要なC拡張が含まれていないが、aptバージョンには含まれているため、必要なようです。
次の方法でJupyterをWindowsサブシステムfor Linux(WSL)にインストールするのが最良のアプローチであることがわかりました。
Sudo apt update && upgrade
Sudo apt install python3 python3-pip ipython3
これでmatplotlibをインストールできます
pip3 install matplotlib
Jupyterノートブック
pip3 install jupyter
さらに情報が必要な場合は、このリンクを確認してください Linux(WSL)のWindowsサブシステムでのPythonセットアップ