今回はpyplotモジュールの「plot関数」をご紹介したいと思います。
この記事では
- plot関数とは
- plot関数でグラフを作成してみよう
- plot関数のオプション指定方法
など基本的な内容からより応用的な内容に関してもわかりやすく解説していきます。
※ この記事のコードはPython 3.7, Ubuntu 18.04で動作確認しました。
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
pyplotモジュールのplot関数とは
みなさんはpyplotモジュールのplot関数を使用したことはありますか?
pyplotとはmatplotlibライブラリのモジュールのひとつで、plotは主にグラフを出力するために使用する関数です。plot関数を使いこなせるようになると、様々なグラフを簡単に描けるようになるので覚えておくと良いでしょう。
もしmatplotlibライブラリを使用すること自体が初めてな場合は、ライブラリをインストールする必要があります。
インストール方法は以下のコマンドを実行させるのみです。
pip install matplotlib
pipに関する詳しい情報は以下のリンクを参照してください。
また、NumPyといった数値計算ライブラリなども使用するので、それについては以下のリンクを参照してください。
また、もしもJupyter Notebookでグラフを表示したい場合は以下の命令をnotebookに書きます。
%matplotlib inline
plot関数でグラフを作成してみよう
グラフを作成する前に、まずはmatplotlibライブラリなどをインポートしましょう。
以下のコードをご覧ください。
from matplotlib import pyplot import math import numpy as np
上のコードでは、matplotlibライブラリからpyplotモジュールのみをインポート、mathライブラリのインポート、NumPyライブラリのインポートを行いました。
上の様に書いてもOKですが、より一般的な書き方を紹介します。
import matplotlib.pyplot as plt import math import numpy as np
matplotlib.pyplotにpltというニックネームをつけて使います。
では早速、plot関数を使用してグラフを作成してみましょう。
plot関数の基本的な構文は以下の通りです。
# pyplot.plot(x,y) plt.plot(x,y)
pyplotとはモジュール名のことです。
plot関数はpyplotモジュール内の関数なので、plotのみを呼び出すことは出来ません。
plot関数は二つの引数を要します。第一引数は関数のx、第二引数はyです。
ご覧いただけるように、plot関数の構文はとてもシンプルですよね。
一次関数のグラフ
一次関数 y=x のグラフを作成してみましょう。
以下のコードをご覧ください。
x = np.linspace(0,10,100) y = x plt.plot(x,y) plt.show()
上のコードでは、変数xにNumPyの関数linspaceを使用し0から10までの数字を100分割したものを代入しました。
最後のplt.show() はグラフを実際に表示させるために必要なものです。
上のコードを実行すると以下のようなグラフを描くことが出来ます。
ご覧いただけるように、一次関数のグラフがしっかりと出力されています。
二次関数のグラフ
では次に、二次関数 y=x*x のグラフを作成してみましょう。
以下のコードをご覧ください。
x = np.linspace(-10,10,100) y = x*x plt.plot(x,y) plt.show()
上のコードでは、-10から10までの数字を100分割したものをxに代入しました。
そしてyには二次関数の式をそのまま代入し、先ほどと同じようにplot関数とshow関数を呼び出しました。
すると、以下のようなグラフが出力されました。
ご覧いただけるように、先ほどとは違って直線ではなく放物線状のグラフを描く事ができました。
折れ線グラフ
次に、折れ線グラフを作成してみましょう。
以下のコードをご覧ください。
y = np.array([50,60,100,80,75,0]) x = np.array([0,20,40,60,80,100]) plt.plot(x,y)
上のコードでは、yに縦軸、xに横軸それぞれの数値を代入しました。
ここで使用したnp.arrayとはNumPyの配列であるndarrayです。yとxはそれぞれ同じ数の数値を含んでいないといけません。
出力されたグラフは以下の通りです。
x軸が年齢、y軸が人口(万人)だと考えると年代別人口数の折れ線グラフが作成出来ました。
plot関数のオプション指定方法
今までは単純にplot関数を使用し、グラフを出力したサンプルコードばかりでした。
しかし、plot関数の様々なオプションを駆使すると、グラフに変化を加えることが出来ます。
色や線の太さの指定
例えば複数のグラフを出力したい時など、色分けできると便利ですよね。
そんなときは、オプション指定colorを使用します。
以下のコードをご覧ください。
plt.plot(x,y, color ="red")
上のコードでは、一次関数のグラフを赤に変更してみました。
上のコードの実行例は以下の通りです。
また、赤以外にも様々な色指定が可能です。
詳しくは以下のリンクを参照してください。
また、線を太くしたり細くしたりすることも出来ます。
plt.plot(x,y, color ="red", linewidth=4)
上のコードでは、linewidthオプションで線の太さを調節しました。数字を増やせば増やすほど、太い線を描くことができます。
ご覧いただけるように、先ほどの一次関数のグラフの線が太くなりました。
また、linestyleをdashedにすることで点線を描く事が出来ます。
plt.plot(x,y, color ="red", linewidth= 2, linestyle = "dashed")
上のコードでは二次関数のグラフを赤く塗り、点線にし、太さも調節してみました。
すると、以下のようなグラフが作成出来ました。
このように、グラフを様々な方法でカスタマイズできるのでオプション指定は便利ですね。
まとめ
今回はpyplotモジュールのplot関数の基本的な使用方法をまとめてみました。
plot関数を使用するとグラフの作成はとっても簡単に行えるので、覚えておいて損はないと思います。
みなさんもぜひ、この記事を通してpyplotモジュールの知識をどんどん深めていってくださいね。