【python】plotlyで軸名称やタイトルをプログラムレスで設定する方法【plotly】

Python

こんにちは、snuowです。

plotlyでグラフを作るときに、プログラムの変更なしに設定できれば・・・と思ったことはありませんか?

今回は、plotlyでグラフを作った時に、プログラムレスで軸名称やタイトルを設定する方法をご紹介します。

こんなグラフができます。

plotlyでヒートマップを作成して、プログラムをいじらずに、y軸やタイトルの設定を変更してみました。

plotlyで自由にグラフを動かすためのコード例

読み込む時系列データ

今回読み込むデータは、下記のデータを読み込みます。

読み込むデータ

SampleCode

サンプルのソースコードは下記のようになっています。

時系列データを読み込んで、リサンプリングし、マトリクスデータ(テーブル)に変換して、描画を行っています。

このソースコードをコピペして、read_csv()のデータの場所だけ変更すれば、先ほどのグラフを表示させることができます。

# ライブラリ読み込み
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 = df.resample('h').sum()

# date,hour列を作成
df['date'] = df.index.strftime('%Y/%m/%d')
df['hour'] = df.index.hour

# pivotで時系列データをマトリクスデータに変換する
pivot_df = df.pivot(index='hour',columns='date',values='電力量')

# imshowでpivot_dfをヒートマップにする
fig = px.imshow(pivot_df,y=pivot_df.index,x=pivot_df.columns,aspect='auto')

# グラフの描画
fig.show(config=dict(editable=True))

自由に設定できるグラフのSampleCode

自由に設定できるようにするためには、下記のソースコードが重要です。

editable = Trueにすることで、プログラムの変更なしに、y軸やタイトルが自由に変更できるようになります。fig.show()config=dict(editable=True)を指定することで実装できます。

# グラフの描画
fig.show(config=dict(editable=True))

pythonを知らない人にソフトウェアとして提供

今回、plotlyでプログラムを変更せずに、軸の名称やタイトルを簡単に変更する方法をご紹介しました。

プログラムが書ける人の中には、「変数を弄ればいいじゃん」と思う人もいるかと思います。実際に、データサイエンティストのような、データの扱いに長けていて、プログラムも書ける人であれば、プログラムを変更する方が柔軟に対応できるかと思います。

しかし、今回の方法は「pythonを知らない人」、「プログラムが書けない人」に対してソフトウェアを提供する場合に真価を発揮すると思います。なぜなら、今回ご紹介した方法を用いることで、プログラムの変更なしにグラフの設定を変更することができるからです。


いかがだったでしょうか。ウェブアプリ(可視化アプリ)等を「pythonを知らない人」に提供するときに、plotly+editableは強力な組み合わせになるかと思いますので、ぜひ試してみてください。

コメント

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