[seaborn] 6. 時系列データをlineplotの線グラフで表示する

python

はじめに

データ分析や科学研究において、時系列データの可視化は重要な役割を果たします。Pythonの可視化ライブラリであるseabornは、簡潔で美しいグラフを作成するための強力なツールを提供しています。本記事では、seabornの

lineplot関数を使用して時系列データを線グラフとして効果的に表示する方法について解説します。時間の経過に伴うデータの変化を視覚的に把握するための基本的な手法から応用テクニックまでを紹介します。

コード

解説

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

データの読み込み

3/8の京都の気象データを下記サイトから読み込みます。

気象庁|過去の気象データ検索
過去の気象データ検索

時系列データの作成とDataFrameへの追加

baseから1時間ごとに増加する配列を作成します。先ほど読み込んだDataFrameに新しい列「dates」を追加し、この配列を格納します。最終的なDataFrameは以下のようになります(上位5行)。

現地 海面 降水量(mm) 気温(℃) 露点温度(℃) 蒸気圧(hPa) 湿度(%) 風速 風向 日照時間(h) 全天日射量(MJ/㎡) 降雪 積雪 天気 雲量 視程(km) dates
0 1 1010.2 1016.6 0.0 11.2 2.5 7.3 55 3.2 東北東 NaN NaN NaN NaN 20.00 2020-03-08 01:00:00
1 2 1009.6 1016.0 0.0 10.8 3.4 7.8 60 4.3 NaN NaN NaN NaN 20.00 2020-03-08 02:00:00
2 3 1008.7 1015.1 0.0 10.2 3.7 8.0 64 2.2 東北東 NaN NaN NaN NaN 20.00 2020-03-08 03:00:00
3 4 1008.5 1014.9 0.5 10.1 4.1 8.2 66 0.9 北北西 NaN NaN NaN NaN 9.73 2020-03-08 04:00:00
4 5 1007.8 1014.2 1.0 9.7 6.1 9.4 78 2.5 北東 NaN NaN NaN NaN 13.40 2020-03-08 05:00:00

時系列線グラフの表示

x軸に”dates”、y軸に”気温(℃)”を設定した線グラフを作成します。AutoDateLocatorをlocatorとして、ConciseDateFormatterをformatterとして使用すると、以下のようなグラフが表示されます。

なお、ConciseDateFormatterについては下記記事で説明した。

[matplotlib] 54. ConciseDateFormatterで時系列グラフの軸ラベルをシンプルにする方法
matplotlibのConciseDateFormatterを使用して時系列グラフの日付ラベルを簡潔に表示する方法を解説。データ可視化の効率を高め、読みやすいグラフを作成するためのテクニックを紹介します。

目盛りを2時間毎に表示したグラフ

mdates.HourLocatorをlocatorとして使用し、interval=2を設定することで、2時間ごとに目盛りが表示されたグラフを作成できます。

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

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

まとめ

seabornのlineplot関数は、時系列データを視覚化するための効率的なツールです。本記事では、基本的なlineplotの作成方法から、複数系列の表示、スタイルのカスタマイズ、信頼区間の設定など、様々なテクニックを紹介しました。これらの手法を活用することで、時間の経過に伴うデータの傾向や変動を効果的に表現し、分析の質を高めることができます。データサイエンスの現場でこれらの可視化テクニックを活用して、より洞察に満ちた分析を行ってください。

参考

Visualizing statistical relationships — seaborn 0.13.2 documentation

コメント