同志们,
我有一个函数应该生成一些matplotlib图然后终止。我希望这些图在终止后保留。
所需行为是:图表出现,不会阻止,并在函数终止后保留。
那么人们,有没有办法做到这一点?最可能的方法似乎是多处理。我原以为下面的代码可以工作:
from multiprocessing import Process
import matplotlib.pyplot as plt
import numpy as np
def plot_graph():
plt.plot(np.random.randn(10))
plt.show()
p = Process(target=plot_graph)
p.start()
但它没有显示任何内容(至少在MacOS,后端TkAgg上)
我知道我可以将图像保存为图像并打开图像,但这不是我想要的 - 我还想能够使用matplotlib缩放控件等。
答案 0 :(得分:0)
它应该可以工作,但你的行为好像show()没有阻塞。尝试添加plt.ioff(),如下所示。
from multiprocessing import Process
import matplotlib.pyplot as plt
import numpy as np
def plot_graph():
plt.plot(np.random.randn(10))
plt.show()
plt.ioff()
p = Process(target=plot_graph)
p.start()