Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以使用matplotlib在单独的窗口中显示多个绘图?_Python_Matplotlib - Fatal编程技术网

Python 是否可以使用matplotlib在单独的窗口中显示多个绘图?

Python 是否可以使用matplotlib在单独的窗口中显示多个绘图?,python,matplotlib,Python,Matplotlib,您好,我正在绘制一个函数10次,并打印单独的值。 我还想在不同的窗口中分别绘制所有10个案例 因此,我为绘图创建了一个新的for loop,它仍在绘图第一个实例,一旦我关闭第一个实例,我才能看到第二个实例 我还尝试使用plt.hold(true) 这就是我试图做的- def signal(): t1 = np.random.choice(candidates) t2 = np.random.choice(candidates) t3 = np.random.choice(

您好,我正在绘制一个函数10次,并打印单独的值。 我还想在不同的窗口中分别绘制所有10个案例

因此,我为绘图创建了一个新的
for loop
,它仍在绘图第一个实例,一旦我关闭第一个实例,我才能看到第二个实例

我还尝试使用
plt.hold(true)

这就是我试图做的-

def signal():
    t1 = np.random.choice(candidates)
    t2 = np.random.choice(candidates)
    t3 = np.random.choice(candidates)
    t4 = np.random.choice(candidates)
    t5 = np.random.choice(candidates)
    y = a * np.exp(-t /t1) + a * np.exp(-t /t2) + a * np.exp(-t /t3) + a * np.exp(-t /t4) + a * np.exp(-t /t5)
return y

for i in range(nsets):
    signalset = []
    signalset.append(signal())
    print(signal())

for i in range (nsets):
    plt.plot(t, signal())
    plt.show()
    plt.hold(True)

有没有办法在10个不同的窗口中同时生成10个图形?

您可以通过指定新的图形索引来创建新的图形窗口,例如
plt.figure(10)
。在您的情况下,您可以使用:

for i in range (nsets):
    plt.figure(i) # choose figure i to be the current figure (create it if not already existing)
    plt.plot(t, signal())
    plt.show()
    plt.hold(True)

图中有一个索引
plt。图(n)
其中
n
是一个从
1
开始的数字
这允许以后激活一个已经创建的图形来为其绘制新的内容,但也允许在一个循环中创建多个图形

为了同时显示所有图像,请在最后使用plt.show()。
在这种情况下,你会这样做

for i in range(10):
    plt.figure(i+1) #to let the index start at 1
    plt.plot(t, signal())
plt.show()

这将在脚本末尾创建所有10个窗口。

那么,对于10个不同的图形,我应该执行plt.图(1),pt.图(2)。。。。等等