PythonでMatplotlibを使ってグラフを描画する方法

  • URLをコピーしました!
目次

Matplotlibとは

Matplotlibとは、プログラミング言語Pythonと科学計算用ライブラリNumPyのためのグラフ描画ライブラリです。オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持っています。描画できるのは主に2次元のプロットですが、3次元プロットの機能も追加されています。

出典:wikipedia

折れ線グラフ

ここからは実際にグラフを描画するためのプログラムについて解説していきます。

まず最初に紹介するのは折れ線グラフです。
以下のようにplotメソッドを使用し、引数にはリストのデータを渡しています。リストに格納されている値を線で結んだグラフが描画されます。

plt.plot(plotdata)

ソースコード

表示するデータは乱数で生成した数値を加算していったものを100個リストに格納しています。
ここは任意のデータに置き換えてください。

作成したソースコードは以下の通りです。

import random
import numpy as np 
from matplotlib import pyplot as plt 

plotdata = []
sum = 0

#表示するデータを生成
for i in range(100):
    sum += random.uniform(0, 10)
    plotdata.append(sum)

#折れ線グラフを作成
plt.plot(plotdata)
plt.title('折れ線グラフ', fontname="MS Gothic")
plt.show()

実行結果

実行結果は以下の通りです。
乱数で生成した数値を加算したものをリスト化したデータが正しくプロットされています。

折れ線グラフの装飾方法について以下の記事で解説していますので、あわせてご覧ください。

棒グラフ

次に紹介するのは棒グラフです。

棒グラフを描画するにはbarメソッドを使用します。
第1引数がX軸、第2引数がY軸のデータとなります。

plt.bar(range(len(plotdata)),plotdata)

ソースコード

今回の例ではY軸のデータとなるリストの要素数からrangeメソッドで以下のように要素数分の配列を生成しています。

range(3)
--> 0 1 2

作成したソースコードは以下の通りです。

import random
import numpy as np 
from matplotlib import pyplot as plt 

#表示するデータを生成
plotdata = [10, 15, 13]

#棒グラフを作成
plt.bar(range(len(plotdata)),plotdata)
plt.title('棒グラフ', fontname="MS Gothic")
plt.show()

実行結果

実行結果は以下の通りです。
X軸、Y軸とも正しく棒グラフに反映されました。

円グラフ

最後は円グラフを描画します。

円グラフを描画するにはpieメソッドを使用します。
第1引数は円グラフでプロットする数値データ、第2引数は各データのラベル、第3引数は各データの色となります。全てリストで渡しています。

plt.pie(plotdata, labels=plotlabel, colors=plotcolor)

ソースコード

作成したソースコードは以下の通りです。

import random
import numpy as np 
from matplotlib import pyplot as plt 

plotdata = []
sum = 0

#表示するデータを生成
plotdata = [42, 78, 4, 29]
plotlabel = ["Data A", "Data B", "Data C", "Data D"]
plotcolor = ["red", "blue", "green", "yellow"]

#折れ線グラフを作成
plt.pie(plotdata, labels=plotlabel, colors=plotcolor)
plt.title('円グラフ', fontname="MS Gothic")
plt.show()

実行結果

実行結果は以下の通りです。
各数値で円の中に占める割合が決まり、ラベル、色共に正しく反映されています。

まとめ

今回は基本的な折れ線、棒、円グラフの書き方について解説してみました。ぜひGUIアプリケーションを作成する際に活用してみてくださいMatplotlibには各軸の情報表示やグリッドの描画などまだまだ機能がありますので、また別の記事で解説していきたいと思います。

また、Matplotlibの使い方について動画で詳しく学びたいかたはUdemyの講座がおすすめです。

【夢月流】Pythonでグラフ作成自由自在 ~Matplotlibの使い方~ icon


それでは、また次の記事でお会いしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次