下面的代码重复两个的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重新开始第二个阴谋?

有帮助吗?

解决方案

可以使用figure创建一个新的绘图,例如,或第一曲线后使用close

其他提示

有一个明确的数字指令,它应该为你做它:

plt.clf()

如果你有在同一图中的多个副区

plt.cla()

清除当前的轴。

如从大卫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")

就在第一plt.plot之前进入plt.hold(False),你可以坚持你原来的代码。

如果你在一个Web应用程序使用Matplotlib交互,例如,(例如IPython中)你或许寻找

plt.show()

代替plt.close()plt.clf()

如果没有人正在然后检查这个..说,如果你有x和沿各自的轴的数据Y的阵列。然后检查哪个小区(jupyter)已初始化x和y为空。这是因为,也许你无需重新初始化这些数据附加到x和y。所以,积有旧数据了。所以检查..

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top