以下代码绘制到两个PostScript(.ps)文件,但第二个包含两行.
import matplotlib import matplotlib.pyplot as plt import matplotlib.mlab as mlab plt.subplot(111) x = [1,10] y = [30, 1000] plt.loglog(x, y, basex=10, basey=10, ls="-") plt.savefig("first.ps") plt.subplot(111) x = [10,100] y = [10, 10000] plt.loglog(x, y, basex=10, basey=10, ls="-") plt.savefig("second.ps")
我如何告诉matplotlib重新开始第二个情节?
有一个清晰的数字命令,它应该为你做:
plt.clf()
如果您在同一图中有多个子图
plt.cla()
清除当前轴.
figure
例如,您可以使用创建新绘图,或close
在第一个绘图之后使用.
如David Cournapeau所述,使用figure().
import matplotlib import matplotlib.pyplot as plt import matplotlib.mlab as mlab plt.figure() x = [1,10] y = [30, 1000] plt.loglog(x, y, basex=10, basey=10, ls="-") plt.savefig("first.ps") plt.figure() x = [10,100] y = [10, 10000] plt.loglog(x, y, basex=10, basey=10, ls="-") plt.savefig("second.ps")
或子图(121)/子图(122)为同一图,不同位置.
import matplotlib import matplotlib.pyplot as plt import matplotlib.mlab as mlab plt.subplot(121) x = [1,10] y = [30, 1000] plt.loglog(x, y, basex=10, basey=10, ls="-") plt.subplot(122) x = [10,100] y = [10, 10000] plt.loglog(x, y, basex=10, basey=10, ls="-") plt.savefig("second.ps")
只需plt.hold(False)
在第一个plt.plot之前输入,就可以坚持原始代码.
如果您以交互方式使用Matplotlib,例如在Web应用程序中(例如ipython),您可能正在寻找
plt.show()
而不是plt.close()
或plt.clf()
.