plotly.expressを使用して、エネルギーデータのヒートマップ(heatmap)を描く方法をご紹介します。今回は、index=月,columns=日,values=電力量としてヒートマップを描きます。

メリット
- マウスオーバーで値を確認できる。
- 表示されたグラフを連動して動かす(拡大・縮小)ことができる。
- エクセルと違い、描画が手軽にできるにできるため作業時間の大幅削減が可能
使用するエネルギーデータ
今回は、こちらのデータを使用します。

plotly.expressでヒートマップ(heatmap)を作成する
SampleCode
- ライブラリをimportする
- csvファイルを読み込んでデータフレームにする
- pd.pivot_tableで電力量のテーブルを作成する。
- px.imshowでヒートマップを描画する
# ライブラリのimport import pandas as pd import plotly.express as px #csvファイルの読み込み df = pd.read_csv('./sample.csv',encoding='shift-jis',index_col=[0],parse_dates=[0]) # データフレームを1日毎のデータにリサンプリングする df_d = df.resample('d').mean() # 電力量のtableをpivot_table()で作成する。(index=月、columns=日としている) pivot_table_df = df_d.pivot_table(index=df_d.index.month,columns=df_d.index.day,values='電力量') # plotly.expressで箱ひげ図の描画 # 今回は、index='月',columns='日',values=電力量としました px.imshow(pivot_table_df,title='電力量',labels={'x':'日','y':'月','color':'電力量'})

項目 | 説明 |
---|---|
data_frame | データフレームの指定します。(今回は、df_d) |
x | x軸の値を配列で指定します。(今回は、月) |
y | y軸の値を指定します。(今回は、電力量) |
color_continuous_scale | 色を指定します。(今回はsolor) |
pivot_tableについて
pivot_table()
は、単一の時系列データを簡単にテーブルデータにすることができます。
- pivot_tableで単一の時系列データ(電力量)をテーブルデータにする
- 作成したテーブルデータをpx.imshowのデータフレームと指定する
といった手順になります。
pivot_table_df = df_d.pivot_table(index=df_d.index.month,columns=df_d.index.day,values='電力量') pivot_table_df

項目 | 説明 |
---|---|
index | indexに指定するlistを選択。(今回は、月) |
columns | columnsに指定するlistを選択。(今回は、日) |
values | ヒートマップにする値を指定します。(今回は、電力量) |
コメント