如何将 matplotlib 的 plt 对象函数传递给 python 中的另一种方法?



假设我有一个能够使用plt.show生成的图形。现在我希望将这个plt对象传递给这样的泛型函数 -

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

这样的事情可以做吗?

这取决于您有多少数字。如果只有一个数字,您可以简单地保持函数(大部分(不变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()之前,必须保存该数字

相关内容

最新更新