python用for循环画多个图形_Python:循环中的Pyplot – >曲线每次迭代累积,而不是单独绘制...

我想画一下,例如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()

你可能感兴趣的:(python用for循环画多个图形_Python:循环中的Pyplot – >曲线每次迭代累积,而不是单独绘制...)