今回はグラフ描画ライブラリMatplotlibの使い方について解説します。Pythonで扱うデータを可視化する際に役立ちますので、ぜひ活用してみてください。
Matplotlibとは
Matplotlibとは、プログラミング言語Pythonと科学計算用ライブラリNumPyのためのグラフ描画ライブラリです。オブジェクト指向のAPIを提供しており、様々な種類のグラフを描画する能力を持っています。描画できるのは主に2次元のプロットですが、3次元プロットの機能も追加されています。
Matplotlibのインストール
Matplotlibをインストールするため、以下のコマンドをコマンドプロンプトで実行してください。
pip install matplotlib
折れ線グラフ
ここからは実際にグラフを描画するためのプログラムについて解説していきます。
まず最初に紹介するのは折れ線グラフです。
以下のように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()
実行結果
実行結果は以下の通りです。
各数値で円の中に占める割合が決まり、ラベル、色共に正しく反映されています。
その他のグラフ
散布図
Matplotlibのscatterメソッドを使用することで散布図を描画することが可能です。詳細は以下の記事で解説しています。
プログラミングのスキルを活かすには
プログラミングのスキルを仕事に活かすには、フリーランスとして受けられる案件がおすすめです。
テックゲートフリーランスは、フリーランスエンジニアの案件紹介や契約交渉・債権管理などのサポートを行っているフリーランスエージェントです。
- リモートワーク可能な案件が50%以上
- 週3〜4日の案件の豊富さ
- 年収100万円アップのサポート
無料相談フォームからご登録いただくだけで、経験年数やスキルに合わせて案件をご紹介。また、リモートワーク可能な案件や週3〜4日OKの案件も豊富に用意されています。
副業やフリーランスとして仕事を受けてみたいと考えている方には、テックゲートフリーランスが提供する多様なサポートが非常におすすめです。
\ 無料で登録してみる! /
まとめ
今回は基本的な折れ線、棒、円グラフの書き方について解説してみました。ぜひGUIアプリケーションを作成する際に活用してみてくださいMatplotlibには各軸の情報表示やグリッドの描画などまだまだ機能がありますので、また別の記事で解説していきたいと思います。
Matplotlibの使い方についてさらに詳しく学びたい方には、Udemyの以下の講座がおすすめです。コードと可視化したグラフを見ながら、Matplotlibで表示できるグラフ形式を網羅的に学習できます。(私自身もこの講座を受講しています)
【夢月流】Pythonでグラフ作成自由自在 ~Matplotlibの使い方~また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。
スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。
それでは、また次の記事でお会いしましょう。
コメント