我的程序计算了许多图表,每个图表都有多个图表。当使用pylab.show()
执行时,它会显示窗口中的第一个图表,当我关闭该窗口时,它会显示第二个图表,依此类推,就好了。
使用pylab.savefig()
时,第二个图包含第一个和第二个图中的图。
如何让savefig()
不要累积图表?
这是我用来绘制图表的代码:
# generate multiple plots for the first diagram
label = 4
for i in nylonLengthLists: # take a list of lists to generate multiple plots
pylab.plot(windSpeeds,i, label=str(label) + ' m')
label += 1
pylab.title('Leinenlaengen nach Tiefen')
pylab.ylabel('Leinenlaenge (m)')
pylab.xlabel('Windgeschwindigkeit (kn)')
pylab.legend(loc='upper left', title='Tiefen')
pylab.xticks()
pylab.grid()
pylab.savefig('diagram1.png')
# generate the plots for the second diagram
nylonLengthLists = [] # reset and regenerate the list of lists
for i in range(12,25,2):
nylonLengthLists.append(nylonLengthList(i, chainLength, boatLength))
label = 12
for i in nylonLengthLists: # generate multiple plots
pylab.plot(windSpeeds,i, label=str(label) + ' m')
label += 2
pylab.title('Leinenlaengen nach Tiefen')
pylab.ylabel('Leinenlaenge (m)')
pylab.xlabel('Windgeschwindigkeit (kn)')
pylab.legend(loc='upper left', title='Tiefen')
pylab.xticks()
pylab.grid()
pylab.savefig('diagram2.png')
答案 0 :(得分:0)
在pylab.show
销毁图形实例后关闭matplotlib窗口。因此,将在下一个绘图命令中创建一个新的。
要获得不含show
的多个数字,请在每次要开始新地图时调用pylab.figure
。