🦔
オフライン環境でplotlyを活用するための基礎(html出力、png出力、インライン描画)
Plotlyは インタラクティブなグラフをかけるデータ可視化ツールです。
オフライン環境でhtml, pngに出力する方法、jupyterlabにインラインでグラフを出力する方法をまとめました。
環境
- Ubuntu 20.0.4
- Python 3.8.10
インストール
グラフをhtml出力するためにplotlyをインストールします。
pip install plotly
次にグラフをpngで保存するためにkaleidoをインストールします。
pip install kaleido
最後にjupyterlabのインラインでグラフを描くためにjupyterlabの拡張機能をインストールします。
pip install jupyterlab
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt update && install nodejs
jupyter labextension install jupyterlab-plotly@4.14.3
注意する事はnode.jsのバージョンが12.0.0以上であることです。plotly拡張機能が動きません。bashの命令でnode.jsのインストールバージョンを12.0.0以上にしています。
オフラインでhtml出力
plotly.offline.plot()
でhtml出力されます。
import numpy as np
import plotly.graph_objects as go
from plotly import offline
X = np.linspace(-np.pi, np.pi, 100)
Y = np.sin(X)
fig = go.Figure()
trace = go.Scatter(x=X, y=Y)
fig.add_trace(trace)
fig.update_layout(title="y=sin(x)")
offline.plot(fig)
実行するとグラフがhtmlで出力されます。
オフラインでpng出力
plotly.io.pio(engine="kaleido)
でpng出力されます。
import plotly.io as pio
import kaleido
pio.write_image(fig, "sin.png", engine="kaleido")
解像度が低めですがpng出力されます。
インラインでグラフ描画
plotly.offline.iplot()
でインライングラフを描けます。
offline.iplot(fig)
セルの下にインラインでグラフが描かれます。
参考
- python-api-reference
- Plotlyをオフラインで使う方法|Plotly徹底解説
- [python]Plotlyでぐりぐり動かせるグラフを作る
- 令和時代のPython作図ライブラリのデファクトスタンダードPlotlyExpressの基本的な描き方まとめ
- matplotlib使いづらくない?plotlyで可視化しようよ
おまけ
Windowsではkaleidoの代わりにorca.exeが使えます。
orca.exeをインストール後、plotlyの設定ファイルを変更します。
pip install plotly
pip install psutil
pio.orca.config.executable="path/to/orca.exe"
pio.orca.config.save()
Discussion