我想画一下,例如10个列表,每个列表由单个曲线表示并保存在单独的文件中,因此没有什么特别之处.
问题是在每次迭代后不会删除绘制的曲线,因此在每个迭代/绘图/文件中,新曲线将简单地添加到先前迭代的曲线中.
list1 = [...]
...
list10 = [...]
all_Lists = [list1, ..., list10]
for i in range(10):
pyplot.plot(all_Lists[i])
pyplot.savefig(...)
file1绘制了1条曲线/列表1.
file2有2条曲线/ list1 list2.
…
如果有人能够解释,如果使用for循环,如何获得每个绘图的单曲线,将不胜感激.谢谢!
最佳答案 我认为混淆来自于你不使用OO接口这一事实. Pyplot很方便但在后台处理很多东西让你不知道真正发生了什么.在您的示例中,您可以即时创建图形和轴,并在同一轴上绘制.
在绘图之前清除轴将解决您的问题,尝试添加pyplot.cla()作为循环的第一行.
我更喜欢制作一个数字和轴对象:
all_Lists = [list(np.random.randn(30).cumsum()) for i in range(10)]
fig, ax = plt.subplots()
for n, curv in enumerate(all_Lists):
ax.cla()
ax.plot(curv)
fig.savefig()