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

python

はじめに

seabornは簡単かつ簡潔にデータを可視化できるPythonのライブラリです。本記事では、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つの線グラフを表示する

lineplotを使用すると、relplotでは不可能なsubplotのaxesへの図の表示が可能になります。ax=ax1のように指定することで、グラフを表示したい正確な位置に配置できます。この例では、左側のax1に気温のグラフを、右側のax2に湿度のグラフを表示しています。

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

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

目盛りの量を増やしたい場合は、figsize(図のサイズ)を大きくすることで、目盛りが省略されずに全て表示されるようになります。

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

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

参考

Visualizing statistical relationships — seaborn 0.13.2 documentation

コメント