以下代码绘制了两个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重新开始第二个情节?
答案 0 :(得分:148)
有一个清晰的数字命令,它应该为你做:
plt.clf()
如果您在同一图中有多个子图
plt.cla()
清除当前轴。
答案 1 :(得分:110)
例如,您可以使用figure
创建新地图,或在第一个地图后使用close
。
答案 2 :(得分:28)
如David Cournapeau所述,请使用数字()。
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")
答案 3 :(得分:13)
只需在第一个plt.plot之前输入plt.hold(False)
,就可以坚持原始代码。
答案 4 :(得分:0)
如果它们都不起作用,那么检查一下..如果沿各自的轴有x和y数据数组。然后检查你初始化x和y的哪个单元格(jupyter)为空。这是因为,您可能正在将数据附加到x和y而不重新初始化它们。所以情节也有旧数据。所以检查..