Ste*_*ini 150 python plot matplotlib
以下代码绘制到两个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")
Run Code Online (Sandbox Code Playgroud)
我如何告诉matplotlib重新开始第二个情节?
ran*_*let 159
有一个清晰的数字命令,它应该为你做:
plt.clf()
Run Code Online (Sandbox Code Playgroud)
如果您在同一图中有多个子图
plt.cla()
Run Code Online (Sandbox Code Playgroud)
清除当前轴.
Dav*_*eau 115
figure例如,您可以使用创建新绘图,或close在第一个绘图之后使用.
小智 28
如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")
Run Code Online (Sandbox Code Playgroud)
或子图(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")
Run Code Online (Sandbox Code Playgroud)
Dir*_*nux 13
只需plt.hold(False)在第一个plt.plot之前输入,就可以坚持原始代码.
如果您以交互方式使用Matplotlib,例如在Web应用程序中(例如ipython),您可能正在寻找
plt.show()
Run Code Online (Sandbox Code Playgroud)
而不是plt.close()或plt.clf().
从matplotlib.pyplot的源代码中,在figure()文档下:
Run Code Online (Sandbox Code Playgroud)If you are creating many figures, make sure you explicitly call `.pyplot.close` on the figures you are not using, because this will enable pyplot to properly clean up the memory.
因此,正如其他人所说,plt.close()当您完成每个人物时,请使用它,然后您就可以开始了!
注意:如果您通过 创建图窗f = plt.figure(),则可以通过plt.close( f )而不是关闭它f.close()。
| 归档时间: |
|
| 查看次数: |
155275 次 |
| 最近记录: |