[Python][WSL] matplotlib でグラフを描画

  • 2022年9月17日
  • 2022年9月18日
  • Python
  • 1383View
  • 0件

はじめに

Python には matplotlib という有名なパッケージがあります。
多様なグラフを描画してくれるパッケージです。

WSL で matplotlib のグラフを表示させます。

matplotlib でグラフを描画

動作環境

  • Windows 11
  • WSL Ubuntu 20.04
  • Python 3.8.10

WSL ディストリビューションの複製

お試しで実行する場合は Ubuntu イメージを複製しておくのがお勧めです。
本手順は必須ではありません。

事前準備

初めに、Ubuntu パッケージを最新化しておきます。

$ sudo apt update
$ sudo apt upgrade

python パッケージをインストールするための pip をインストールします。

$ sudo apt install python3-pip

次に、matplotlib をインストールします。

$ pip install matplotlib

ソースコード

グラフを描画するための簡単なソースコードです。
-5.0 ~ 5.0 の sin(x) を描画します。

import math
import matplotlib.pyplot

xs = [0.1 * i - 5 for i in range(100)]
ys = [math.sin(x) for x in xs]

matplotlib.pyplot.plot(xs, ys)
matplotlib.pyplot.show()

描画の実行

スクリプトを実行して、グラフを描画します。
しかし、GUI のバックエンドが不十分であるため、環境によっては実行に失敗してしまいます。

$ python3 main.py
main.py:8: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
  matplotlib.pyplot.show()

解決策はいくつかあるようですが、今回は tkinter を Ubuntu にインストールする手段を採りました。

$ sudo apt install python3-tk

改めて実行すると、sin(x) のグラフが描画されます。