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

2024-04-27 04:35:06 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我想要一个程序,我正在写,以产生两个不同的情节。一个图将有三个独立的图形,然后我想要一个单独的窗口,显示一个直方图。在

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或我导入的mplas,但也没有用。也许我不明白这个的语法?在


Tags: 绘图plotpngshowpltfigurefrequencyhz
1条回答
网友
1楼 · 发布于 2024-04-27 04:35:06

首先请注意,plt.figure什么都不做。您需要调用plt.figure()。然而,这并不能解决实际问题。在

因为有3个子图的旧图在您想要开始一个新图的时候仍然是当前图,plt.figure()只会得到旧图。在

若要获取新图形,请使用新图形编号。在

plt.figure(2)

相关问题 更多 >