スポンサーリンク

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

下記が表示されたグラフになります。

2行-1列に分割してグラフを表示

スポンサーリンク

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

下記が表示されたグラフになります。

3行-1列に分割してグラフを表示

分割したグラフにタイトルを設定

分割したグラフにタイトルを設定するには、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()

スポンサーリンク