plotly.express 科学的チャート ヒートマップ(heatmap imshow)

Python

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

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

使用するエネルギーデータ

今回は、こちらのデータを使用します。

使用データ

plotly.expressでヒートマップ(heatmap)を作成する

SampleCode

  1. ライブラリをimportする
  2. csvファイルを読み込んでデータフレームにする
  3. pd.pivot_tableで電力量のテーブルを作成する。
  4. 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)
xx軸の値を配列で指定します。(今回は、月)
yy軸の値を指定します。(今回は、電力量)
color_continuous_scale色を指定します。(今回はsolor)

pivot_tableについて

pivot_table()は、単一の時系列データを簡単にテーブルデータにすることができます。

  1. pivot_tableで単一の時系列データ(電力量)をテーブルデータにする
  2. 作成したテーブルデータをpx.imshowのデータフレームと指定する

といった手順になります。

pivot_table_df = df_d.pivot_table(index=df_d.index.month,columns=df_d.index.day,values='電力量')
pivot_table_df
項目説明
indexindexに指定するlistを選択。(今回は、月)
columnscolumnsに指定するlistを選択。(今回は、日)
valuesヒートマップにする値を指定します。(今回は、電力量)

コメント

タイトルとURLをコピーしました