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

chu*_*baz 5 python matplotlib figure output

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

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

我的功能大致如下:

def graphs(...,fig):
...
ax = plt.figure(fig)
...
...
plt.show
Run Code Online (Sandbox Code Playgroud)

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

Sud*_*kar 2

使用plt.figure().canvas.draw()。检查此线程:如何更新 matplotlib 中的绘图?

然后你的方法就变成了

def graphs(..., fig):
    ax = plt.figure(fig)
    plt.figure().canvas.draw()
Run Code Online (Sandbox Code Playgroud)

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

for ...:
  graphs(...., arg)
plt.show()
Run Code Online (Sandbox Code Playgroud)

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