【python】plotlyのグラフ描画が重すぎるときの対処法

Python

plotly.expressなどで散布図を作成するときに、グラフの描画が遅いなぁと感じることはありませんか?

特に、Webアプリ上での描画スピードは非常に重要なことかと思います。

今回は、plotlyでグラフ描画が重すぎるときの対処法をご紹介します。

https://plotly.com/python/webgl-vs-svg/

結論:WebGLを使おう

  • render_mode='webgl'を使用すれば、描画スピードが速くなります。(デフォルトでは、autoになっています。)
px.scatter(data_frame=df,x='電力量',y='ガス量',render_mode='webgl')

CPUの演算からGPUでの演算に切り替えさせるので描画スピードが速くなるといった処理になります。

ただし、GPUを積んでいないマシン(AWSのt2.***等)では、正常に機能しないので注意が必要です。

WebGLを使う理由

公式には下記のように記述があります。

  • 要するに、1000データ以上を描画する場合は、描画のパフォーマンスを考えると’svg’より’webgl’の方が良いです。ということです。

確かに、体感でわかるレベルで遅くなっている気がするので、ローカル環境以外では基本的にWebGLを使う方がストレスなく使用できるかと思います。

コメント

タイトルとURLをコピーしました