您如何matplotlib.pyplot“忘记”以前的地块
matplotlib.pyplot
我正在尝试使用绘制多个时间 matplotlib.pyplot
代码如下:
def plottest(): import numpy as np import matplotlib.pyplot as plt a=np.random.rand(10,) b=np.random.rand(10,) c=np.random.rand(10,) plt.plot(a,label='a') plt.plot(b,label='b') plt.plot(c,label='c') plt.legend(loc='upper left') plt.ylabel('mag') plt.xlabel('element)') plt.show() e=np.random.rand(10,) f=np.random.rand(10,) g=np.random.rand(10,) plt.plot(e,label='e') plt.plot(f,label='f') plt.plot(g,label='g') plt.legend(loc='upper left') plt.ylabel('mag') plt.xlabel('element)') plt.show()
不幸的是,无论我做什么,我都会得到相同的情节(实际上是从我之前运行并完成的其他代码中得到的)。
有任何想法吗?
我宁愿plt.clf()每次都使用它plt.show()来 清除当前图形, 而不是关闭并重新打开它,以保持窗口大小并为您提供更好的性能和更好的内存使用率。
plt.clf()
plt.show()
同样,您可以plt.cla() 清除当前 轴。
plt.cla()
要清除特定的轴(例如,在一个图形中有多个轴时很有用),您可以执行以下操作:
fig, axes = plt.subplots(nrows=2, ncols=2) axes[0, 1].clear()