インストール
まずは、plotlyのインストールを実行します。
pip install plotly
オブジェクトと基本的な考え方
・plotlyで作成されるグラフのオブジェクトは大きく、下図のように「グラフエリア*1」と「プロットエリア*2」に分かれます。
*1 以下では「Figure」とします。 *2 以下では「trace」とします。
・「Figure」:描画領域全体
・「trace」:一つ一つのプロットを描画する領域(座標軸)
・plotlyでは、「Figure」オブジェクトに「trace」オブジェクトを追加することでグラフを描画していきます。

基本手順
plotlyでグラフを描画する場合、以下が基本手順となります。
①グラフオブジェクトの作成:fig = go.Figure()でfigというグラフオブジェクトをインスタンス化します。
②fig(グラフオブジェクト)に追加操作:fig.XXX()でグラフや凡例等を追加します。(③と④は例)
③プロットの追加:fig.add_trace(), fig.add_traces()
④layout設定の追加:fig.update_layout()
基本的なplotlyモジュール関数のまとめ
グラフ操作 | 関数名 | 備考 |
Figureオブジェクト作成 | fig = go.Figure() | 描画領域の作成 |
trace (グラフオブジェクト)作成 |
trace = go.Bar(x=x, y=y) | グラフデータの作成 |
traceの追加 | fig.add_trace(trace) | Figureオブジェクトにtraceを一つだけ追加 |
traceの複数追加 | fig.add_traces((trace1, trace2, …)) |
Figureオブジェクトに複数のtraceを追加 |
traceの更新 |
一つだけ更新の場合: |
既存のtraceを削除して新規のtraceを追加 |
layoutの更新 |
fig.update_layout( |
・グラフ、軸のタイトルを設定できます。 |
基本グラフの作成
①モジュールのインポート:plotly.graph_objects (通常、”go”というオブジェクト名で使用される。)
・plotlyで使用する基本モジュールであるplotly.graph_objectsをインポートします。
・plotly.graph_objectsは、通常”go”という略称で使用します。
import plotly.graph_objects as go
②グラフオブジェクトの作成:fig = go.Figure()
fig = go.Figure()
・描画領域であるグラフオブジェクトをfigという名称で作成します。
③プロットオブジェクトの作成:go.Bar(), go.Scatter() 等
グラフの種類に応じてオブジェクトが用意されています。
・棒グラフ=go.Bar()
・散布図=go.Scatter()
・折れ線グラフ=go.Scatter(mode=”lines”, line=dict(color=””, width=””, dash=””))
・円グラフ=go.Pie()
・表=go.Table(header=dict(values=””),cells=dict(values=””))
・ローソク足チャート=go.Candlestick()
・go.Bar()を使って簡単な棒グラフを作成します。
import numpy as np
y = np.linspace(1,100).tolist()
x = [i for i in range(1,51,1)]
fig = go.Figure()
trace_1 = go.Bar(x=x, y=y)
fig.add_trace(trace_1)
fig.update_layout(title='trace_1グラフ',
xaxis=dict(title='X軸'))
fig.show()

layoutの設定
次に、グラフタイトル、X, Y軸名称, 軸間隔、凡例等の設定方法について解説します。
layoutの設定方法は下記3種類あります。
layout設定方法①:fig.update_layout(xaxis=dict(), yaxis=dict(), その他)
・figオブジェクトに、”update_layout()“メソッドを使ってlayout設定する方法です。
・”update_layout()“のキーワード引数の”xaxis“と”yaxis“にそれぞれ辞書型で設定値を入力します。
dict()関数を使用する場合、dict()関数の引数は、Key=”Value”(例:title=”X軸”)のように設定。
・グラフ全体の設定(グラフタイトル等)は、Key=”Value”(例:title=”グラフタイトル”)のように設定。
※個人的には最も使用する方法です。
layout設定方法②:Layout = go.Layout(xaxis=dict(), yaxis=dict(), その他) と fig.update_layout(Layout)
layout設定方法③:fig.update_xaxes(dict()) と fig.update_yaxes(dict())
以降で、各設定方法毎に、同一の棒グラフの作成方法を解説します。
作成するグラフ
・グラフのタイトル=’サンプルグラフ’
・X軸の値=[1,2,3], Y軸の値=[1,2,3]
・X軸タイトル=’X軸’, Y軸タイトル=’Y軸’
・X軸間隔=1, Y軸間隔=1

import plotly.graph_objects as go
fig = go.Figure()
x = [1,2,3]
y = [1,2,3]
trace = go.Bar(x=x,y=y)
fig.add_trace(trace)
fig.update_layout(xaxis=dict(title='X軸', dtick=1),
yaxis=dict(title='Y軸', dtick=1),
title='サンプルグラフ')
fig.show()
Layout = go.Layout(xaxis=dict(), yaxis=dict(), その他) と fig.update_layout(Layout)のグラフ作成方法
import plotly.graph_objects as go
fig = go.Figure()
x = [1,2,3]
y = [1,2,3]
trace = go.Bar(x=x,y=y)
fig.add_trace(trace)
Layout=go.Layout(xaxis=dict(title='X軸', dtick=1),
yaxis=dict(title='Y軸', dtick=1),
title='サンプルグラフ')
fig.update_layout(Layout)
fig.show()
import plotly.graph_objects as go
fig = go.Figure()
trace=go.Bar(x=[1,2,3], y=[1,2,3])
fig.add_trace(trace)
fig.update_xaxes(dict(title='X軸', dtick=1))
fig.update_yaxes(dict(title='Y軸', dtick=1))
fig.update_layout(title='サンプルグラフ')
fig.show()
コメント