Как передать объектную функцию plt из matplotlib другому методу в python? - PullRequest
0 голосов
/ 14 сентября 2018

Скажем, у меня есть фигура, которую я могу сгенерировать, используя plt.show.Теперь я хочу передать этот plt объект такой обобщенной функции -

generate_figs(plt):
    frmt = ['jpg','png']
    for i in frmt:
        plt.savefig('name.{}'.format(i))

generate_figs(plt)

Можно ли что-то подобное сделать?

1 Ответ

0 голосов
/ 14 сентября 2018

Это зависит от того, сколько у вас цифр. Если это только одна цифра, вы можете просто сохранить функцию (в основном), так как plt.savefig сохранит текущую цифру.

def generate_figs():
    frmt = ['jpg','png']
    for i in frmt:
        plt.savefig('name.{}'.format(i))

Если у вас несколько фигур, вы можете передать конкретный объект фигуры в функцию и использовать fig.savefig

import matplotlob.pyplot as plt

def generate_figs(fig):
    frmt = ['jpg','png']
    for i in frmt:
        fig.savefig('name.{}'.format(i))

fig1 = plt.figure()
plt.plot(some_data)

fig2 = plt.figure()
plt.plot(some_other_data)

generate_figs(fig1)

plt.show()

Примечание: перед любым вызовом необходимо сохранить цифру на plt.show()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...