matplotlib グラフの設定 - Remrinのpython攻略日記
python-remrin.hatenadiary.jp

データをグラフ化しなければならない事態があったため、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()
やってることは、
- pandasでcsvを読み込み
- seabornにてグラフをおしゃれにするように設定
- 行列名に日本語を扱いためフォントを”Ricty Diminished”に変更
- 加速度x軸,y軸,z軸のプロット設定
- x軸、y軸のラベルを設定
- グラフラベルを下に置くようにする(seabornを入れるとグラフ内に入れると見づらくなるため外に出す)
- いい感じにグラフを自動調整
- グラフの表示
plt.plotの引数は下記のサイトが非常に参考になります
ailaby.com
ailaby.com