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

python

はじめに

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

コード

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

解説

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

データの読み込み

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

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

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

baseから1時間刻みで増加する配列を作成する。先程読み込んだDataFrameに新しい列として[‘dates’]を作成して、作成した配列を入れる。
最終的なDataFrameは以下のようになる。(上位五行)

現地海面降水量(mm)気温(℃)露点温度(℃)蒸気圧(hPa)湿度(%)風速風向日照時間(h)全天日射量(MJ/㎡)降雪積雪天気雲量視程(km)dates
011010.21016.60.011.22.57.3553.2東北東NaNNaNNaNNaN20.002020-03-08 01:00:00
121009.61016.00.010.83.47.8604.3NaNNaNNaNNaN20.002020-03-08 02:00:00
231008.71015.10.010.23.78.0642.2東北東NaNNaNNaNNaN20.002020-03-08 03:00:00
341008.51014.90.510.14.18.2660.9北北西NaNNaNNaNNaN9.732020-03-08 04:00:00
451007.81014.21.09.76.19.4782.5北東NaNNaNNaNNaN13.402020-03-08 05:00:00

時系列線グラフの表示

x軸が”dates”, y軸が”気温(℃)”の線グラフを作成する。locatorにAutoDateLocator、formatterにConciseDateFormatterを用いると以下のグラフが得られる。

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

[matplotlib] 54. ConciseDateFormatterで時系列グラフの軸ラベルをシンプルにする
matplotlib.datesのConciseDateFormatterで時系列グラフの目盛りラベルを簡潔に表示する方法について説明する。

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

locatorとして、mdates.HourLocatorを用い、interval=2とすることで2時間毎に目盛りを表示したグラフを得ることができる。

参考

Visualizing statistical relationships — seaborn 0.10.1 documentation

コメント