[seaborn] 5. lineplotの信頼区間つき線グラフで複数データを表示する

python

はじめに

簡単かつ簡潔にデータを可視化できるライブラリであるseabornを用いて、複数データの信頼区間つき線グラフをlineplotにより表示する方法について説明する。

コード

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

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

解説

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

データの読み込み

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

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

DataFrameの結合と列の追加

pd.concatでデータフレームを結合した後に、新たな列データ[‘loc’]を追加する。np.tileは同じ要素をもつ配列を作る関数であり、データフレームの長さとおなじサイズの配列を追加した。
最終的にDataFrameは下記のようになる。(上位5行のみ表示)

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

鹿児島のデータも同様に処理する。

index 現地 海面 降水量(mm) 気温(℃) 露点温度(℃) 蒸気圧(hPa) 湿度(%) 風速 風向 日照時間(h) 全天日射量(MJ/㎡) 降雪 積雪 天気 雲量 視程(km) loc
0 0 1 1007.8 1011.6 0.0 15.0 13.7 15.7 92 5.1 西北西 NaN NaN NaN NaN NaN kagoshima
1 1 2 1008.0 1011.8 14.3 12.5 14.5 89 4.4 西北西 NaN NaN NaN NaN NaN kagoshima
2 2 3 1007.8 1011.6 13.9 12.1 14.1 89 3.6 西北西 NaN NaN NaN 6 20.0 kagoshima
3 3 4 1007.8 1011.6 13.9 11.3 13.3 84 3.6 北西 NaN NaN NaN NaN NaN kagoshima
4 4 5 1008.0 1011.8 13.1 10.6 12.8 85 3.5 北西 NaN NaN NaN NaN NaN kagoshima

DataFrameの合体

京都と鹿児島のデータを合体してひとつにする。

複数データの95%信頼区間つき線グラフの表示

x軸が”時”, y軸が”気温(℃)”の線グラフを作成する。hue=”loc”とすることで、京都と鹿児島それぞれで平均と信頼区間が計算され、複数の信頼区間つき線グラフとして表示される。

styleで違いを表現する

style=”loc” とすることで、線が点線と実線で表示される。

hueとstyleで違いを表現する

hueとstyleの両方に’loc’を設定するとより視認性が高まる。

マーカーを表示する

styleを設定した状態でmarkers=Trueとするとマーカーが表示される。dashes=Falseで点線が表示されなくなる。

palleteで色を変える

palleteで色を設定して適用することで色を変えることができる。

線の太さを変える

size=”loc”とすることで、データに応じて線の太さが変化する。

参考

Visualizing statistical relationships — seaborn 0.13.2 documentation

コメント