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

标签 python matplotlib output figure

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

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

我的函数大概是这样的:

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/

相关文章:

Python ssl/https requests.get 调用失败

python - 让 Pyplot 窗口显示为 Windows 7 中的最顶层窗口

python - 如何绘制经验 cdf (ecdf)

javascript - JS 和 Bootstrap - 输出不起作用

c - strpbrk 的行为不符合预期

python - Python中的Clojure风格函数 "threading"

Python 正则表达式匹配空格或左括号

python - 返回 boolean 数组中 "false"值的索引

python - text, usetex=true 设置也会渲染轴标签

C++:cout 和指向 char 的指针的无法解释的行为