如何为后续matplotlib图创建新窗口?

时间:2017-07-06 17:04:40

标签: python matplotlib plot graph

目前正在使用Python 3.6.0 | Continuum Analytics,Inc。| (默认,2016年12月23日,11:57:41)在Windows(64位)上。

我想要一个我正在编写的程序来生成两个不同的图。一个图将有三个单独的图,然后我想要一个显示直方图的单独窗口。

plt.subplot(311)
plt.plot(z)
plt.xlabel('Time(s)', fontsize=14)
plt.ylabel('Amplitude(v)', fontsize=8)
fig.subplots_adjust(hspace=.5)
plt.figure
plt.subplot(312)
plt.plot(timey[0:(len(freq))//2],y)
plt.xlabel('Frequency(Hz)', fontsize=14)
plt.ylabel('Amplitude(V)', fontsize=8)
plt.subplot(313)
plt.plot(fre, psd)
plt.xlabel('Frequency(Hz)', fontsize=14)
plt.ylabel('Power Spectrum Density(Watts/Hz)', fontsize =8)
plt.show()
np.savetxt( file ,y, delimiter='  ',newline='  ')
plt.savefig('FFT'+i+'.png', bbox_inches='tight')
wait = input("PRESS ENTER TO CONTINUE.")   #an attempt at breakpoints
plt.figure
plt.subplot(111)
plt.plot(bin[0:bnn],his)
plt.show()
plt.savefig('Histogram'+i+'.png', bbox_inches='tight')

即使使用plt.figure(),我仍然会使用plt.subplot(111)绘制现有绘图的顶部,这会删除原始绘图并将新绘图放在同一窗口中。我希望生成两个独立的窗口。我读过几个先前的问题无济于事。我尝试使用%matplotlib qt或我导入的 mpl ,但也没用。也许我不明白这个的语法?

1 个答案:

答案 0 :(得分:0)

首先请注意plt.figure什么都不做。您需要致电plt.figure()。但是,这并没有解决实际问题。

由于具有3个子图的旧图仍然是您想要开始新图的点的当前图,plt.figure()将简单地为您提供旧图。

要获得新数字,请使用新的数字编号。

plt.figure(2)