Вы определили figs
с помощью метода px.bar()
.
По документации px.bar()
возвращает объект plotly.graph_objects.Figure
.
Просмотр этого plotly.graph_objects.Figure
документация класса * мы можем увидеть все методы, доступные в этом plotly.graph_objects.Figure
классе. show()
представляется допустимым методом для этого типа объекта. Однако для этого класса нет метода savefig()
. Вот почему fig.show()
работает, а fig.savefig()
не работает.
Похоже, что в классе matplotlib.pyplot
есть savefig()
метод, как задокументировано здесь , однако ваш figs
объект является экземпляром plotly.graph_objects.Figure
, а не matplotlib.pyplot
.
Если ваша цель - записать ваш объект figs
в файл, похоже, что в документации указаны 3 метода, которые предоставляют эту функциональность:
plotly.graph_objects.Figure
Попробуйте заменить:
figs.savefig('static/images/staff_plot.png')
на
figs.write_image(file='static/images/staff_plot.png', format='.png')