初めてのmatplotlib(2次関数のプロット)
pythonのグラフ作成にはmatplotlibというパッケージを利用することができます。
pythonのコードの中でグラフを作れるという点が非常に便利で、データ処理とグラフ作成を同じコード内で行うことができます。
グラフ描写にはgnuplotなんかも使えるのですがgnuplotを使う場合データ処理は別の言語で書いて、それをテキストファイルに出力して、gnuplotでそれを読み込んで描写させるという手順が必要です。matplotlibでは余計なファイルが無駄に増えないといった利点があります。またpythonのコードを使ってグラフが作れるのでpythonが使える人なら扱いやすいと思います。
早速matplotlibを使って簡単なグラフを描写してみましょう。
まずmatplotlib.pyplotとnumpyをインポートします。matplotlib.pyplotはグラフをプロットするのに必要なライブラリでpltと省略されることが多いです。またnumpyは数値計算ライブラリで行列計算したり、数値のリストを生成することができます。npと省略されることが多いです。どんなグラフを描くにしてもこの2つのライブラリはほぼ必須です。(matplotlib,numpyはインストールが必要です。インストールの仕方は他の記事を参考にしてください。)
さてmatplotlibを使って2次関数のグラフを描いてみましょう。
# -*- coding: utf-8 -*- #y = x^2の2次関数のグラフを作成 import matplotlib.pyplot as plt import numpy as np x = np.arange(0,10,0.01) y = x**2 plt.plot(x,y) plt.show()
図のようなグラフが表示されるはずです。
コードの説明を少しすると、最初の2行でmatplotlib.pyplotとnumpyをインストールしています。
pythonではplt.plot()関数でグラフを描写できるのですが、そこに渡すのはリストである必要があります。
今回はx = np.arange(0,10,0.01)で0から10まで0.01刻みのリストを作っています。
x = [0,0.01,0.02,...,9.99]です。その後、このリストを2乗したリストを作ってyに入れています。y = [0,0.01,0.04,...,99.8001]です。
そしてこの2つのリストをplt.plot()に渡してグラフを作っています。
リストを作るならnumpyを使わなくてもpythonのrange()関数を使えばいいと思われるかもしれません。しかし、range()関数は1以下の刻みを作ることができないので曲線の描写には不向きです。
きちんとnumpyを使ってリストを作るようにしましょう。