2行×1列に画面分割してグラフを表示
画面分割してグラフを表示するには、下記のようにmatplotlibのsubplot()で設定できます。
import matplotlib.pyplot as plt plt.subplot(分割する行数, 分割する列数, 領域番号)
サンプルコードを下記に記載します。
下記のようにin.txtがあったとします。
$ cat in.txt 20160105,0,3,5 20160106,1,4,5 20160107,2,5,5 20160108,3,6,5 20160109,4,8,5 20160110,5,9,5 20160111,6,8,5 20160112,7,3,5 20160113,8,5,5
下記がサンプルコードになります。
$ cat sample1.py
#!/usr/bin/env python3
# coding: UTF-8
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('in.txt',
names=('Date', 'Value1', 'Value2', 'Value3'),
index_col='Date',
parse_dates=True)
print("dataの中身を出力")
print (data)
#3行 × 1列のグラフを設定
row = 2
col = 1
#1番目のグラフのプロット
plt.subplot(row, col, 1)
plt.plot(data.Value1)
#2番目のグラフのプロット
plt.subplot(row, col, 2)
plt.plot(data.Value2)
#グラフを表示
plt.show()
下記が実行結果になります。
$ ./sample1.py
dataの中身を出力
Value1 Value2 Value3
Date
2016-01-05 0 3 5
2016-01-06 1 4 5
2016-01-07 2 5 5
2016-01-08 3 6 5
2016-01-09 4 8 5
2016-01-10 5 9 5
2016-01-11 6 8 5
2016-01-12 7 3 5
2016-01-13 8 5 5
下記が表示されたグラフになります。
3行×1列に画面分割してグラフを表示
3行×1列に画面分割する場合のサンプルコードになります。
下記がサンプルコードになります。
$ cat sample.py
#!/usr/bin/env python3
# coding: UTF-8
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('in.txt',
names=('Date', 'Value1', 'Value2', 'Value3'),
index_col='Date',
parse_dates=True)
print("dataの中身を出力")
print (data)
#3行 × 1列のグラフを設定
row = 3
col = 1
#1番目のグラフのプロット
plt.subplot(row, col, 1)
plt.plot(data.Value1)
#2番目のグラフのプロット
plt.subplot(row, col, 2)
plt.plot(data.Value2)
#3番目のグラフのプロット
plt.subplot(row, col, 3)
plt.plot(data.Value3)
#グラフを表示
plt.show()
下記が実行結果になります。
$ ./sample.py
dataの中身を出力
Value1 Value2 Value3
Date
2016-01-05 0 3 5
2016-01-06 1 4 5
2016-01-07 2 5 5
2016-01-08 3 6 5
2016-01-09 4 8 5
2016-01-10 5 9 5
2016-01-11 6 8 5
2016-01-12 7 3 5
2016-01-13 8 5 5
下記が表示されたグラフになります。
分割したグラフにタイトルを設定
分割したグラフにタイトルを設定するには、subplot()の引数に、title='name'の形で設定します。
下記は、それぞれのグラフにタイトルを設定しています。
#3行 × 1列のグラフを設定 row = 3 col = 1 #1番目のグラフのプロット plt.subplot(row, col, 1, title='Graph1') plt.plot(data.Value1) #2番目のグラフのプロット plt.subplot(row, col, 2, title='Graph2') plt.plot(data.Value2) #3番目のグラフのプロット plt.subplot(row, col, 3, title='Graph3') plt.plot(data.Value3) #グラフを表示 plt.show()


