plotlyでplotするときにグラフをブラウザで開かないようにしたい。
plotlyでグラフを複数作っているとこのように思うこともあるだろう。
今回はplotlyでグラフを開かずにグラフを作る方法を紹介する。
plotlyとは
Plotlyとはpythonの可視化ライブラリのひとつ。
pythonでデータを可視化する方法を探すと、まず出てくるのはMatplotlibだが、2番目に有名なのはplotlyだろう。
Matplotlibは軽めの画像で可視化するのに対して、plotlyはインタラクティブなHTMLのグラフを出力する。
グラフをブラウザで開きたくない理由
plotlyをimportした状態でplotを実行するとHTML形式のグラフが作成され、WEBブラウザで開かれる。
ひとつなら問題ではないのだが、可視化したいデータが複数あるとデータの数だけグラフが開かれることになる。
しかしWEBブラウザで利用できるメモリが有限である以上、大量にHTMLグラフを開くとメモリが足りなくなってしまう。
グラフを作成だけして開かない方法
実は公式サイトに答えが書いてある。
plotly.offline.plot({ "data": [go.Scatter(x=[1, 2, 3, 4], y=[4, 3, 2, 1])], "layout": go.Layout(title="hello world") }, auto_open=True)
つまり auto_open=True
の代わりに auto_open=False
にすれば良い。
まとめ
plotlyでplotするときにグラフをブラウザで開かないようにするにはplotメソッドに対して auto_open=False
を設定しよう。