見出し画像

plotly-expressのplotを画像で保存する+kaleidoのエラー解消策

適当に検索して出た方法でplotly expressのプロットを保存しようと思ったらkaleidoやorcaのengineでやたらエラーが出てかなり困った。
バージョンとか色々原因はあるかと思うが、以下で解消していける(はず)

ゴール

↓が動くなら問題ないので、ブラウザバックしてそのまま驀進
※必要に応じてpip install等おこなう

# jpg形式の保存の場合
import pandas as pd
import plotly.express as px

df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(df, x="year", y="lifeExp", color='country')
fig.write_image("{保存するパス+ファイル名}.jpg",
    format='jpeg',validate=False, engine='kaleido')

↑でエラーが出る場合

pip install -U kaleido

をコマンドラインで行ってからPythonの方をもう一度runしてみる。

それでもダメなとき

import kaleido

を追加して再実行。
私はここまでやったら動いた。

loop処理で一気に保存

以下のようにすれば国ごとに別名で保存もできる。

df = px.data.gapminder()
for country in df["country"].unique():
  df_plt = df.query("country==@country")
  fig = px.line(df_plt, x="year", y="lifeExp")
  fig.write_image(fr"{保存するディレクトリ}{country}.jpg",
    format='jpeg',validate=False, engine='kaleido')

参考資料


この記事が気に入ったらサポートをしてみませんか?