我有一个绘制多个图形的python代码。相关部分是
import matplotlib.pyplot as plt
plt.ion()
for p in range(np):
for g in range(ng):
figs = []
for n in range(ns):
figs.append(plt.figure())
gsg = # object I am working with
cg = plt.contourf(gsg.x, gsg.y, gsg.u[:,:])
cb = plt.colorbar()
figs[n].suptitle(title)
print title, gsg.u[ex_index,ex_index,:]
go_ahead = raw_input()
在某些情况下,我不能直截了当地看所有图,因为生成了太多图,并且python开始自动关闭其中的几个图。
因此,我想要的是在内部循环中绘制ns
图形,然后暂停执行(因此输入go_ahead
),查看显示的图形,将其关闭在屏幕上,然后让代码转到下一批。我不知道该怎么做。
我最接近的是将plt.show(block=True)
命令放在figs[n].suptitle()
之后。这的确会在运行时显示一个图形,但一次只能看到一个图形。 plt.show()
和plt.show(block=False)
在执行结束之前根本不会显示任何内容,这是我要避免的事情。
有什么想法吗?