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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值