WSLのUBuntu18.04はGUI表示が存在しないので、matplotlibを使ったグラフ描画ができない。だが、調べてみると、何とか描画できるようにできたので、メモしておく。
前準備
> sudo apt update && sudo apt upgrade > sudo apt install python3-pip
matplotlibの導入
pip3を使ってmatplotlibと、セットで使われがちなnumpyを導入しておく
> pip3 install numpy > pip3 install matplotlib
matplotlibを使った参考プログラム
vim等のエディタを使って、以下のコードを入力
> vim sampleGraph.py
import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 100) y = np.random.randn(100) plt.plot(x, y) plt.show()
これを実行してみる。
> python3 sampleGraph.py
この時点で Tkinter
がないだのというエラーが出たら、以下のコマンドを実行
> sudo apt install python3-tk > sudo apt install tk-dev
ウィンドウに描画できるようにする
sourceForgeで、VcXsrvをDLする。
インストーラーでは特に追加設定の必要なし。指示通り勧めていけばよい。
インストールが終わったら、Windowキーを押し、XLaunchを実行する。
デフォルト設定のまま進め、完了を押す前にSave configuration
を押し、設定ファイルをわかりやすいところ、例えばデスクトップに保存しておく。
完了を押せば、XLaunchが起動する。
WSLに戻って、以下のコマンドを実行。
> sudo vim ~/.bashrc
最後の行に以下を追加して保存する。
export DISPLAY=:0.0
WSLを再起動(ウィンドウを閉じるか、exitすれば良い)すればこの設定が読み込まれて、設定が反映される。
この後pythonを実行すると
> python3 sampleGraph.py
こんな感じでウィンドウが表示されるようになる。