我的目标是创建一个输出图形的函数。
如果我尝试在脚本中多次调用我的函数,它只会显示第一次调用时的图形。只有当我关闭第一个图形时,程序才会创建第二个图形,依此类推。
我的函数大概是这样的:
def graphs(...,fig):
...
ax = plt.figure(fig)
...
...
plt.show
目前该函数不返回任何内容,有没有一种方法可以输出图形或者至少让它在第一个图形之后不会停止创建图形?
最佳答案
使用 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()
这将在多个窗口中绘制所有图形。请注意,它会为每个图形创建一个窗口。如果您有大量图像,请使用子图
关于python - 如何创建一个输出 matplotlib 图形的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31746989/