问题
当在进行实验不同的lr如[0.1,0.01,0.001,0.0001]时,用matplotlib绘制图形,去除列表中上一个lr的数据时出现问题。
方法
使用python库matplotlib时,当使用for循环画图时,后续的图片会在前一张图的基础上绘画。这是因为matplotlib会记录之前绘图的数据。
plt.show()函数能够重新开启下一次绘图,而不使图片数据重叠。但是,该函数会阻塞程序的进程。plt.show()函数会调用xmanager开启一个窗口,必须关闭该窗口才能进行程序的下一次运算,十分繁琐。解决该问题的方式为:在程序末尾加上函数:plt.clf(),同时删除plt.show()。
结语
果然在画图末尾添加clf就能将这些数据清空,通过本次实验我认识到了这个列表中添加、增改的小技巧,matplotlib画图的一些基础知识,更好地完成一些基础简单的任务。