matplotlibとは
- matplotlib(マットプロットリブ)とはpython標準ライブラリの1つで、オープンソースで公開されているグラフ描画を行うためのツールです。折れ線グラフ・棒グラフ・散布図・円グラフなど様々なグラフを作成することができます。
- matplotlibでは、Excelでは作成困難なグラフでも数式を使って簡単に作成することができます。
- matplotlibのサンプル図はこちら → https://matplotlib.org/tutorials/introductory/sample_plots.html
matplotlibを使ったデータのグラフ化(具体例)
matplotlibを使って月別の売上データ(3年分)をグラフ化し、売上がどのように変化しているかを分析します。
日本語表記に必要なモジュールをインストール
まずは以下の一文を記入して実行してください。matplotlibのグラフ(タイトルや凡例)を日本語で表示することができます。
pip install japanize-matplotlib
1.matplotlibをインストール
pipiについて
「pip」とはPythonで使用する便利なライブラリ・パッケージをインストールし、そして管理することができるシステムです。もともとGoogle colabにはグラフ描画に必要なライブラリが既にインストールされていますが、グラフを日本語化するモジュール(japanize-matplotlib)は入っていないため、追加でインストールを行なっています。
- ライブラリ → 本棚のようなもの
- パッケージ → 本のようなもの
- モジュール → 本のページのようなもの
グラフ作成に必要なモジュールのインポート
先ほどインストールした日本語化モジュールも含めて、グラフ作成に必要なツールをインポートします。
import pandas as pd
import matplotlib as plt
import japanize_matplotlib
import matplotlib.pyplot
import figure
1.「import pandas as pd」・・・データフレームの操作(pandas)
2.「import matplotlib as matplotlib」・・・グラフ作成
3.「import japanize_matplotlib」・・・日本語対応
4.「from matplotlib.pyplot import figure」・・・グラフのサイズ変更
Excelファイルの読み込み
Excel(売上データ)をDataFrame形式に変換して読み込みます。
・Excelファイルの読み込み方法についてはこちら → Pandasを使ったデータ分析入門(Excelファイル読み込みから、DataFrameのデータ操作)
df = pd.read_excel('売上データ.xlsx')
1.エクセルファイル(‘売上データ.xlsx’)から、DataFrame形式に変換
売上データ(DataFrame)の内容確認
DataFrame(df)の中身を見ると、3年分(2018年度・2017年度・2016年度)の売上データを確認することができます。
df
1.DataFrame(売上データ)の確認
グラフ作成の前準備(DataFrameの分割)
DataFrame(売上データ)の項目(列)毎に、4つのDataFrame(①df_date ②df_2018 ③df_2017 ④df_2016)に分割。
df_date=df['日付']
df_2018=df['2018年度']
df_2017=df['2017年度']
df_2016=df['2016年度']
1.DataFrameの日付の列データのみ抽出
2.DataFrameの2018年度の列データを「df_2018年度」に代入
3.DataFrameの2017年度の列データを「df_2017年度」に代入
4.DataFrameの2016年度の列データを「df_2016年度」に代入
折れ線グラフ_レベル1
「plt.plot」を使い、x軸とy軸を指定するだけで、簡単に折れ線グラフを作成することができます。試しに、2018年度と2017年度のグラフを作成します。
plt.plot(df_date,df_2018)
plt.plot(df_date,df_2017)
1.x軸を「df_date」、y軸を「df_2018」としてグラフ化
2.x軸を「df_date」、y軸を「df_2017」としてグラフ化
折れ線グラフ_レベル2
グラフのタイトルと、x軸・y軸のラベルに名前をつけます。そして、2018年度と2017年度の凡例を表示します。さらに、折れ線グラフの色を変更(x=赤、y=青)しマーカー(o)をプロットして、分かりやすいグラフにします。
plt.title('売上比較表')
plt.xlabel('月')
plt.ylabel('売上(円)'
plt.plot(df_date,df_2018,color='r',marker='o',label='2018年度')
plt.plot(df_date,df_2017,color='b',marker='o',linestyle='--',label='2017年度')
plt.legend()
1.グラフのタイトルを「売上比較表」に指定
2.x軸のラベルを「月」に指定
3.x軸のラベルを「売上(円)」に指定
4.2018年度の折れ線グラフを色を赤色に変更し、マーカーを「o」に指定
5.2017年度の折れ線グラフを色を青色に変更し、マーカーを「o」に指定。さらに点線に変更。
6.凡例を表示
折れ線グラフ_レベル3
グラフのサイズを大きくして、折れ線グラフの色を落ち着いた色(x=#b22222、y=#191970)に変更します。
figure(num=None, figsize=(10, 6))
plt.xlabel('月')
plt.ylabel('売上(円)')
plt.title('売上比較表')
plt.plot(df_date,df_2018,color='#b22222',marker='o',label='2018年度')
plt.plot(df_date,df_2017,color='#191970',marker='o',linestyle='--',label='2017年度')
plt.legend()
1.グラフのサイズを変更(10:6)
2.x軸のラベルを「月」に指定
3.x軸のラベルを「売上(円)」に指定
4.グラフのタイトルを「売上比較表」に指定
5.2018年度の折れ線グラフを色を赤系(#b22222)に変更し、マーカーを「o」に指定
6.2017年度の折れ線グラフを色を青系(#191970)に変更し、マーカーを「o」に指定。さらに点線に変更。
7.凡例を表示
折れ線グラフ_レベル4
2016年度の折れ線グラフを追加し、透明度を50%に設定。さらにグラフの背景をグリッド表示に変更。
figure(num=None, figsize=(10, 6))
plt.xlabel('月')
plt.ylabel('売上(円)')
plt.title('売上比較表')
plt.plot(df_date,df_2018,color='#b22222',marker='o',linewidth=3,label='2018年度')
plt.plot(df_date,df_2017,color='#191970',marker='o',linestyle='--',label='2017年度')
plt.plot(df_date,df_2016,color='#191970',marker='o',alpha=0.5,linestyle='--',label='2016年度')
plt.grid(True)
plt.legend()
1.グラフのサイズを変更(10:6)
2.x軸のラベルを「月」に指定
3.x軸のラベルを「売上(円)」に指定
4.グラフのタイトルを「売上比較表」に指定
5.2018年度の折れ線グラフを色を赤系(#b22222)に変更し、マーカーを「o」に指定
6.2017年度の折れ線グラフを色を青系(#191970)に変更し、マーカーを「o」に指定。さらに点線に変更
7.2016年度の折れ線グラフを色を青系(#191970)に変更し、マーカーを「o」に指定。さらに点線に変更し、透明度を50%に設定
8.グラフの背景をグリッド表示
9.凡例を表示
よりハイレベルなグラフデザインの種類確認
よりハイレベルなグラフ描画ツールである、seabornのデザインを使って折れ線グラフを作成することができます。print関数でデザインの種類を確認します。
print(plt.style.available)
1.ハイレベルなデザインの種類の確認
よりハイレベルなデザインの適用
「seaborn」をインポートし、よりハイレベルなデザインの折れ線グラフの作成を可能にします。そして日本語にも対応させます。
import seaborn as sns
sns.set(font="IPAexGothic")
plt.style.use( 'seaborn-pastel')
1.seabornのインポート
2.seabornの日本語化対応
3.seaborn-pastelの適用
折れ線グラフ_レベル5(完成)
「seaborn-pastel」を適用したグラフを表示します。また、タイトルの名前、x軸・y軸のラベルの名前の大きさを変更します。
figure(num=None, figsize=(10, 6))
plt.xlabel('月',fontsize=15)
plt.ylabel('売上(円)',fontsize=15)
plt.title('売上比較表', fontsize=18)
plt.plot(df_date,df_2018,color='#b22222',marker='o',label='2018年度')
plt.plot(df_date,df_2017,color='#191970',marker='o',linestyle='--',label='2017年度')
plt.plot(df_date,df_2016,color='#191970',marker='o',alpha=0.5,linestyle='--',label='2016年度')
plt.legend()
1.グラフのサイズを変更(10:6)
2.x軸のラベルを「月」に指定し、文字の大きさを15に変更
3.x軸のラベルを「売上(円)」に指定、文字の大きさを15に変更
4.グラフのタイトルを「売上比較表」に指定、文字の大きさを18に変更
5.2018年度の折れ線グラフを色を赤系(#b22222)に変更し、マーカーを「o」に指定
6.2017年度の折れ線グラフを色を青系(#191970)に変更し、マーカーを「o」に指定。さらに点線に変更
7.2016年度の折れ線グラフを色を青系(#191970)に変更し、マーカーを「o」に指定。さらに点線に変更し、透明度を50%に設定
8.凡例を表示
まとめ
matplotlibを使用すると簡単にグラフを作成することができます。
Excelとは違い数式によってグラフを作成する点が特徴です。グラフのタイトル名や大きさ、折れ線グラフの色から背景のデザインまで多種多様な設定に対応しています。
また、折れ線グラフだけでなく、棒グラフ・円グラフ・ヒストグラム等、様々なグラフが作成可能でデータ分析には欠かせないツールです。