[seaborn] 3. lineplotで線グラフを表示する

python

はじめに

seabornは簡単かつ簡潔にデータを可視化できるライブラリである。ここではlineplotにより時系列データの線グラフを表示する方法について説明する。

コード

解説

モジュールのインポートなど

seabornはsnsとしてインポートするのが一般的となっている。
sns.set(style=”darkgrid”)で見た目の設定を変えている。

バージョン

データの読み込み

データは下記サイトから3/10の京都の気象データを取得した。

気象庁|過去の気象データ検索
過去の気象データ検索
現地 海面 降水量(mm) 気温(℃) 露点温度(℃) 蒸気圧(hPa) 湿度(%) 風速 風向 日照時間(h) 全天日射量(MJ/㎡) 降雪 積雪 天気 雲量 視程(km)
0 1 1005.7 1012.0 13.2 7.2 10.2 67 1.8 北北東 NaN NaN NaN NaN 20.00
1 2 1004.7 1011.0 13.1 7.8 10.6 70 1.0 NaN NaN NaN NaN 20.00
2 3 1003.2 1009.5 0.0 13.1 7.8 10.6 70 1.1 NaN NaN NaN NaN 20.00
3 4 1000.9 1007.2 0.0 13.1 8.0 10.7 71 0.7 東南東 NaN NaN NaN NaN 20.00
4 5 998.9 1005.1 0.0 15.6 11.8 13.8 78 3.4 NaN NaN NaN NaN 20.00
5 6 998.6 1004.8 1.5 15.3 12.4 14.4 83 2.9 東南東 NaN NaN NaN NaN 9.60
6 7 998.5 1004.7 2.5 14.7 13.4 15.4 92 2.1 東南東 0.0 NaN NaN NaN 4.93
7 8 997.5 1003.7 3.5 14.9 13.6 15.6 92 1.9 東南東 0.0 NaN NaN NaN 8.40
8 9 996.5 1002.7 3.0 14.5 13.9 15.9 96 1.3 北北東 0.0 NaN NaN NaN 3.36
9 10 995.6 1001.8 1.5 15.2 14.3 16.2 94 0.9 0.0 NaN NaN NaN 5.69
10 11 994.0 1000.2 1.0 15.5 14.6 16.6 94 1.8 北北東 0.0 NaN NaN NaN 20.00
11 12 992.4 998.6 1.5 15.7 13.9 15.9 89 1.8 0.0 NaN NaN NaN 6.68
12 13 991.0 997.1 2.5 15.5 14.2 16.2 92 0.4 0.0 NaN NaN NaN 8.36
13 14 989.7 995.8 1.0 16.1 15.0 17.0 93 1.7 南東 0.0 NaN NaN NaN 20.00
14 15 988.8 994.9 0.0 16.6 13.7 15.7 83 1.7 東北東 0.0 NaN NaN NaN 20.00
15 16 988.5 994.6 0.0 16.7 13.8 15.8 83 1.2 東北東 0.0 NaN NaN NaN 20.00
16 17 988.2 994.3 0.5 16.3 15.0 17.1 92 0.7 東南東 0.0 NaN NaN NaN 16.50
17 18 989.0 995.1 0.5 15.5 15.2 17.3 98 1.1 0.0 NaN NaN NaN 20.00
18 19 989.6 995.7 0.0 16.1 13.9 15.9 87 2.5 南南西 NaN NaN NaN NaN 20.00
19 20 991.1 997.2 15.8 12.9 14.9 83 3.1 NaN NaN NaN NaN 20.00
20 21 991.9 998.1 0.0 15.3 12.3 14.3 82 1.6 NaN NaN NaN NaN 20.00
21 22 992.7 998.9 0.0 15.1 12.2 14.2 83 1.3 西南西 NaN NaN NaN NaN 20.00
22 23 993.9 1000.1 0.0 14.0 11.0 13.1 82 3.0 西北西 NaN NaN NaN NaN 11.40
23 24 994.6 1000.8 0.5 13.4 8.7 11.2 73 2.9 西北西 NaN NaN NaN NaN 20.00

データの整形

降水量のところに’–‘となっている部分があるので、この部分をnp.nanに置換しておく。

paperの場合

sns.relplotでkind=’line’とすることで線グラフを表示できる。

2つの線グラフを表示する

relplotではsubplotのaxesに図を表示できないので、同様の図を作成できるlineplotを用いる。
ax=ax1のように指定することで表示したい位置にグラフを表示できる。ここでは左のax1に気温のグラフ、右のax2には湿度のグラフを表示した。

4つの線グラフを表示する

4つのグラフを表示すると以下のようになる。

目盛りの量を増やしたいときには、figsizeを大きくすると目盛りが省略されずに表示されるようになる。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

参考

Visualizing statistical relationships — seaborn 0.13.2 documentation

コメント