Back to tech

Pythonモジュールのmatplotlibの走り書きメモ

2 min read
Table of Contents
matplotlib グラフの設定 - Remrinのpython攻略日記
python-remrin.hatenadiary.jp
image

データをグラフ化しなければならない事態があったため、matplotlibを使ってみました

その際、色々メモしたためここに走り書きで残しておきます

動作環境

  • Windows10 64bit
  • Python 3.6.2

インストール

matplotlibのほかにseabornというモジュールもいれます

seabornをいれることでグラフがおしゃれになります

  • matplotlib

    • pip install matplotlib
  • seaborn

    • pip install seaborn

csvファイルを扱う場合はpandasをいうモジュールをいれると簡単に読み込み、グラフへ表示ができます

  • pandas

    • pip install pandas

入力データ

テストとして下記のようなデータを使ってみます

加速度と角速度のデータです(使用するデータは加速度のみ)

cc_x,Acc_y,Acc_z,Gyro_x,Gyro_y,Gyro_z
1.01,0.02,-0.01,8.38,0.6,-7.1
1.06,0.02,0,-1.08,-2.06,-6.24
1.12,-0.02,0,-1.88,0.78,-6.27
1.13,-0.07,0,-0.53,1.63,-4.77
1.11,-0.13,-0.01,2.33,3.18,-4.42
1.05,-0.18,0.02,1.93,5.56,-4.59
1.01,-0.23,0.05,4.43,2.82,-3.4
0.95,-0.26,0.08,5.14,3.23,-1.73
0.89,-0.27,0.11,5.56,0.54,-0.01
0.85,-0.26,0.15,4.53,-2.34,2.04


プログラム

#!/usr/bin/python
# -*- Coding: utf-8 -*-
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

df = pd.read_csv('./hoge.csv')

sns.set()
plt.rcParams['font.family'] = 'Ricty Diminished'
plt.plot(range(0,len(df.index)),df["Acc_x"], ls='-', marker='o', label='x軸')
plt.plot(range(0,len(df.index)),df["Acc_y"], ls='-', marker='*', label='y軸')
plt.plot(range(0,len(df.index)),df["Acc_z"], ls='-', marker='^', label='z軸')

plt.xlabel("plat(数)")
plt.ylabel("値(g)")
plt.legend(loc="upper center", bbox_to_anchor=(0.5,-0.08), ncol=5)
plt.tight_layout()
plt.show()

やってることは、

  1. pandasでcsvを読み込み
  2. seabornにてグラフをおしゃれにするように設定
  3. 行列名に日本語を扱いためフォントを”Ricty Diminished”に変更
  4. 加速度x軸,y軸,z軸のプロット設定
  5. x軸、y軸のラベルを設定
  6. グラフラベルを下に置くようにする(seabornを入れるとグラフ内に入れると見づらくなるため外に出す)
  7. いい感じにグラフを自動調整
  8. グラフの表示

plt.plotの引数は下記のサイトが非常に参考になります

ailaby.com
ailaby.com

表示

参考文献