如何创建一个输出matplotlib图形的函数?

时间:2015-07-31 13:09:11

标签: python matplotlib output figure

我的目标是创建一个输出数字的函数。

如果我尝试在脚本中多次调用我的函数,它只显示第一次调用时的数字。只有当我关闭第一个数字时,程序才会创建第二个数字,依此类推。依此类推。

我的功能大致如下:

def graphs(...,fig):
...
ax = plt.figure(fig)
...
...
plt.show

目前该函数没有返回任何内容,是否有一种方法可以输出图形或至少使它在第一个之后不会停止创建数字?

1 个答案:

答案 0 :(得分:2)

使用plt.figure().canvas.draw()。检查此主题:How to update a plot in matplotlib?

然后你的方法变成

def graphs(..., fig):
    ax = plt.figure(fig)
    plt.figure().canvas.draw()

最后,在循环结束时调用plt.show()

for ...:
  graphs(...., arg)
plt.show()

这将绘制多个窗口中的所有数字。请注意,每个图形将创建一个窗口。如果您有大量图像,请使用子图