Playground

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

Playground
この記事は約4分で読めます。
スポンサーリンク

Pythonにはmatplotlibというグラフを描画するライブラリ(モジュール)があります

データをグラフ化しなければならない事態があったため、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の引数は下記のサイトが非常に参考になります

matplotlib で使える marker を全て試してみる-python | コード7区
matplotlib の marker には ● とか ▲ など、いろいろな形が用意されています。現在、35種類のマーカーが使えるようなので、ひととおり試してみます。マーカーの大きさはmarkersizeで指定します。marker=’$…$’の書式で、任意の文字列をマーカーにすることもできます。

表示

参考文献

コメント

タイトルとURLをコピーしました