【发布时间】:2016-07-13 18:16:11
【问题描述】:
我正在做一些处理,我想绘制进度。我知道我的总运行次数,我计算每 100 次运行的结果,并且我想每次都生成一个新图。所以,我的代码看起来像这样
开始 = time.time() 速度 = [] 对于范围内的步骤(步骤): do_my_stuff() 如果步骤 % 100 == 0: speed.append((step + 1) / (time.time() - start)) x = np.arrange(步骤) y = np.array(速度) plt.plot(x, y, 'ro')当然,我得到“x 和 y 必须具有相同的第一维”错误。这似乎是一个简单而常见的问题,但由于某种原因,我找不到现成的解决方案。我可能没有在谷歌上搜索正确的东西。我错过了什么?
更新 #1:让自己更清楚一点。我想在流程的每 100 次迭代中重绘一次绘图。我希望该图反映当前累积的速度点。我希望它从 0 扩展到最大步数,并且我希望它在尚未计算速度的地方为空。
【问题讨论】:
-
您的缩进错误。
x=、y=和plot命令需要在循环之外。 -
不,他们没有。我想每 100 次迭代重绘一次绘图。
-
Steps 具有全部长度,而速度仍在循环内构建。因此它们的长度不匹配。
-
我知道。这正是我遇到的问题。我刚刚更新了帖子以澄清。
-
试试 x = np.arrange(len(speeds))
标签: python numpy matplotlib