Pythonライブラリ講座

0から理解!Matplotlibとは?グラフ作成の2つの方法とは?

前のページ|次のページ

18章ではPythonのデータ可視化ライブラリ『Matplotlib』の概要について解説します。

また、『pyplotインターフェース』と『オブジェクト指向インターフェース』の違いについても解説しています。

本記事はMatplotlibについてよく知らない、理解に不安があるという方におすすめです。

ぜひ最後まで読んでいってください!

本連載講座【Python ライブラリ編】では、データサイエンスに必要なPythonライブラリやその使い方を基礎から学ぶことができます。

NumPyPandasMatplotlibScipySeabornについて、初学者の方にも分かりやすいよう丁寧に解説しています。

さらに、学習した内容を定着させられるように各章演習問題を用意しています。

・Pythonでデータ分析ができるようになりたい

・Pythonの基礎事項は一通り学んだので、さらに深く学びたい

このように考えている方はTech Teacherが運営する【Python ライブラリ編】で、Pythonによるデータサイエンスの学習をすることをお勧めします!

なお、『Pythonについて全く知らない』・『Pythonの基礎事項がまだ分かっていない』という方は、まずコチラの【Python 基礎編】で基礎を一通り学習してからライブラリ編に取り掛かりましょう!

<ライブラリ編 目次>

<ライブラリの基礎>
1章:ライブラリとは

<NumPy>
2章:NumPyの概要と配列(ndarray)
3章:統計量や次元の取得/ソート
4章:配列のインデックス
5章:numpy.whereによる条件制御
6章:配列の結合/分割
7章:乱数

<SciPy>
8章:SciPyの概要と基本操作

<Pandas>
9章:SeriesDataFrame/統計量の取得
10章:データの読み込み/書き込み
11章:データの取り出し/追加
12章:データのソート
13章:データの結合
14章:階層型インデックス
15章:groupbyによる集計
16章:マッピング処理
17章:欠損値の扱い

<Matplotlib>
18章:Matplotlibの概要
19章:pyplotインターフェース
20章:オブジェクト指向インターフェース

<Seaborn>
21章:Seabornの概要と基本操作

Matplotlibとは

Matplotlib ロゴ

Matplotlib』はPythonのデータ可視化ライブラリであり、2Dプロットグラフの生成に特化しています。

このライブラリを用いると、折れ線グラフ、散布図、ヒストグラム、3Dプロットなど、さまざまなタイプのグラフを作成することができます。

データの可視化はデータの特徴をつかんだり、理解しやすく説得力の高い資料を作成する際に必須のスキルです。

本連載講座でMatplotlibの基礎事項を理解して、データ分析の業務に活用できるようにしていきましょう!

Matplotlibのインポートとグラフ作成の例

まずはMatplotlibのイメージをつかむために、グラフ作成の例を見てみましょう。

Matplotlibをインポートするには、以下のようなコードを実行します。

なお、1行目ではMatplotlibと合わせて使用するNumPyのインポートを行っています。

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

Matplotlibを使用する際は、基本的に3行目でインポートした『matplotlib.pyplot』を利用します。

matplotlib.pyplotは慣習的に『plt』という名前を付けて使用します。

インポートasがよく分からないという方は、以下の記事を参照してください!

それでは、pltを用いてグラフを作成する例を見てみましょう。

#プロットするデータを定義
x = np.arange(10)
y = x ** 2

#プロット
plt.plot(x, y)
plt.show()
y=x^2のグラフ

上の例では、まずグラフのx軸に対応する配列として0,1,2,…,9といったような配列を定義しています。

NumPyの『np.arange()』関数については以下の記事で詳しく解説しています。

続く2行目では、グラフのy軸に対応する配列として「x ** 2」という配列を定義しています。

このとき、yはxの各要素を2乗した配列、すなわち0,1,4,…,81といった配列になっていることに注意しましょう。

最後にこれら2つの配列x, yを「plt.plot()」関数でプロットした後、「plt.show()」関数でグラフの表示を行っています。

このように、Matplotlibを用いると簡単なコードでグラフを描画することができます。

2通りの書き方とその違い

Matplotlibでグラフを書く方法として、主に以下の2通りの書き方が存在します。

  • pyployインターフェース
  • オブジェクト指向インターフェース

いずれの方法にも異なるメリット・デメリットがあり、目的に応じて適切に使い分けることが重要です。

本連載講座では18章から20章にかけてそれぞれのインターフェースの基礎事項を網羅的に解説していきます。

pyplotモジュールを用いる方法

pyplotインターフェース』はpyplotモジュールの関数を用いてグラフを作成する方法です。

科学技術計算やデータの可視化に特化したプログラミング言語である『MATLAB』を模したスタイルで簡単にグラフを書くことができます。

こちらは直感的かつ簡単にグラフを作成することができ、シンプルなグラフを素早く作成したいときに便利です。

以下はpyplotモジュールを用いてグラフを作成する例です。

#プロットするデータを定義
x = np.arange(10)
y = x ** 2

#プロット
plt.plot(x, y) #プロット
plt.xlabel('x') #x軸のラベル
plt.ylabel('y') #y軸のラベル
plt.title('$y=x^2$') #タイトル
plt.show() #表示
y=x^2のグラフ

オブジェクト指向に基づく方法

オブジェクト指向インターフェース』はオブジェクト指向に基づいてグラフを作成する方法です。

FigureやAxesといったオブジェクトを明示的に作成して、それらのメソッドを使用してグラフを作成していきます。

こちらはクラスやオブジェクトに関する知識を必要としますが、その分柔軟で複雑な操作が可能です。

クラスについては以下の記事で詳しく解説していますので、よくわからないという方はぜひご覧ください。

以下はオブジェクト指向インターフェースを用いてグラフを作成する例です。

#プロットするデータを定義
x = np.arange(10)
y = x ** 2

fig, ax = plt.subplots() #オブジェクトを作成
ax.plot(x, y) #プロット
ax.set_xlabel('x') #x軸のラベル
ax.set_ylabel('y') #y軸のラベル
ax.set_title('$y=x^2$') #タイトル
plt.show() #表示

y=x^2のグラフ

まとめ

本記事ではPythonのデータ可視化ライブラリMatplotlibの概要について解説しました。

次章以降、pyplotインターフェースオブジェクト指向インターフェースそれぞれについて初学者の方にも分かりやすいように解説していきます。

ぜひ本連載講座でMatplotlibの基礎をマスターしてください!

次のページへ

Matplotlib|pltでグラフを作ろう!初心者向け完全ガイド 前のページ|次のページ 19章ではMatplotlibの『pyplotインターフェース』でグラフを作成・装飾する方法について解説...