はじめに
今回はmatplotlibというライブラリを触ってみるという記事になります!
最近Tensorflow
の勉強を初めているのですが、画像データ(RGBの2次元配列)であったりグラフなどを可視化するためにmatplotlib
を使うのが一般的のようです。
matplotlib
とはどういったものかというとこのように紹介されています。
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
Matplotlib: Python plotting — Matplotlib 3.2.1 documentation
様々なデータを可視化できる包括的なライブラリといったところでしょうか。
では早速使い方見ていきましょう。
グラフの描画
グラフの描画にはmatplotlib.pyplot.plot
とmatplotlib.pyplot.show
を使います。
import matplotlib.pyplot as plt x = [1,2,3,4,5,6,7] y = [10,20,40,80,40,20,10] plt.plot(x, y) # プロット plt.show() # 作成したグラフを表示
このx,yのリストは共に同じ数にすることに注意してください。
また軸にラベルを付けたりタイトルを付けたりすることもできたりします。
この記事が分かりやすく説明してくださっていました。
qiita.com
加えて公式ドキュメントを見てみると、fmt
,**kwargs
という引数を用いることで色々とカスタマイズすることができます。
plt.plot(x, y, color='green', marker='o', linestyle='dashed', linewidth=2, markersize=12)
ここには書ききれないほど種類があるので是非公式ドキュメントを一読ください。
matplotlib.pyplot.plot — Matplotlib 3.2.1 documentation
画像を表示する
あとは機械学種においては入力画像がどんなものか知りたいなどの場面がよくあると思います。
import matplotlib.pyplot as plt img = [[255, 122, 255], [0, 255, 0], [255, 100, 0]] # 画像データ(グレー画像(0~255)) plt.imshow(img) # 画像の表示
これもタイトルを付けたりヒストグラムを表示したり色々とできるみたいです。
一応公式ドキュメントを見てみるともはや引数が多すぎて訳がわかりません。
matplotlib.pyplot.imshow — Matplotlib 3.2.1 documentation
ただ基本はデフォルトのままで困ることはなさそうです。
さいごに
本当に軽く触ってみたという中身のほぼない記事になってしまい申し訳ありません。
ただ言い訳じみてしまいますがPythonのシグニチャは見辛すぎて逆にビックリしてしまいました。
例えばpyplot.plot
メソッドのシグニチャはこんな感じ。
plt.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
matplotlib.pyplot.plot — Matplotlib 3.2.1 documentation
Pythonは基本的にこういう書き方なのかこのドキュメントがそうなのか分かりませんが、正直これを見ただけでピンとくる方はいるのでしょうか。
まあPythonに全く慣れていないことが原因だと思うので、もっと精進したいと思います。
ではまた。