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')