我怎么告诉matplotlib,我有一个情节做了什么?
-
09-09-2019 - |
题
下面的代码重复两个的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。所以,积有旧数据了。所以检查..
不隶属于 StackOverflow