[seaborn] 4. lineplotで信頼区間つき線グラフを表示する

python

はじめに

seabornはPythonのデータ可視化ライブラリであり、Matplotlibをベースに構築されています。特に統計的なデータ可視化を簡単に行えることが特徴です。本記事では、seabornのlineplot関数を使用して時系列データを視覚化し、信頼区間つきの線グラフを作成する方法について解説します。データの傾向だけでなく、その不確かさも同時に表現できる点が、lineplotの大きな利点です。

コード

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

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

解説

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

seabornは一般的に「sns」という略称でインポートされています。

sns.set(style=”darkgrid”)を使用してグラフの背景スタイルを設定できます。

sns.set_context(‘talk’)を適用すると、グラフ内の文字サイズが大きくなり、視認性が向上します。

データの読み込み

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

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

3つのDataFrameをconcatで結合し、reset_indexでインデックスを振り直したDataFrameの最初の五行は以下のようになります。

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

95%信頼区間つき線グラフの表示

x軸を”時間”、y軸を”気温(℃)”として線グラフを作成します。特別な設定をしなくても、複数のデータ値が存在する場合は自動的に信頼区間つきの線グラフが生成されます。

信頼区間を非表示にする

ci=Noneと設定すると信頼区間が表示されず、平均値のデータのみで構成された線グラフが表示されます。

標準偏差を表示する

標準偏差を表示する場合にはci=’sd’とします。

まとめ

本記事では、seabornのlineplot関数を使用して時系列データの信頼区間つき線グラフを表示する方法について解説しました。lineplotは単なる線グラフ以上の情報を提供し、データの傾向と不確実性を同時に表現できる強力なツールです。信頼区間の設定、スタイルのカスタマイズなど、様々な調整が可能なため、データ分析やレポート作成において非常に役立ちます。

参考

Visualizing statistical relationships — seaborn 0.13.2 documentation

コメント