こんにちは、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は強力な組み合わせになるかと思いますので、ぜひ試してみてください。
コメント