はじめに
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
コメント