Python Plotly¶
インタラクティブなグラフプロットライブラリです。2D/3Dのプロット、プロット上で拡大、移動、値のホバー表示などの操作が可能です。
はじめに¶
最初の一歩¶
sin関数を-πから+πまでの範囲で折れ線グラフにプロットする、とても簡潔なコードを記述します。
plotly.graph_objects APIの使用¶
細かな設定が可能な 低レベルAPIである graph_objects を使用したコードを次に示します。
import numpy as np
import plotly.graph_objects as go
x = np.linspace(-np.pi, np.pi, 1000)
sin_y = np.sin(x)
fig = go.Figure(data=[go.Scatter(x=x, y=sin_y, mode='lines')])
fig.show()
numpyライブラリを使用して、プロットするX座標の値の配列と、Xの値をインプットとしてsin関数のアウトプットをY座標の値の配列として生成します。
plotlyのFigureにデータを散布図(Scatter)に線のみ(lines)でプロットすると折れ線グラフとなります。
実行すると、ローカルのWebブラウザにプロット結果が表示されます。ズームやパン操作などのコントロールパネル、値のホバー表示機能が利用できます。

plotly.express APIの使用¶
express APIは、通常はPandasライブラリのDataFrameをデータとして使用します。Numpyのndarrayを使ってプロットすることも可能です。ただし実行時にPandasライブラリが解決できないとエラーとなります。
import numpy as np
import plotly.express as px
x = np.linspace(-np.pi, np.pi, 1000)
sin_y = np.sin(x)
fig = px.line(x=x, y=sin_y, title='sin(x)')
fig.show()
実行すると、ローカルのWebブラウザにプロット結果が表示されます。ズームやパン操作などのコントロールパネル、値のホバー表示機能が利用できます。