【发布时间】:2018-12-19 20:52:51
【问题描述】:
我有一个很长的数据序列要绘制,并试图以编程方式沿 x 轴平移。
fig_raw = plt.figure(num = 'raw');
plt.plot(data_rd, figure=fig_raw);
plt.xlim(0, 200);
plt.show(False);
for i in range(0, data_rd.size/200-1):
plt.xlim(i*200, (i+1)*200);
time.sleep(1)
但此代码不会通过 x 轴平移。它显示了 x 轴上的第一个 xlimits 和最后一个 xlimits。我尝试在每次调用xlim 后添加plt.draw(),但行为是相同的。如果我在每个xlim 之后添加raw_input('any text'),则会更新图形的 x 轴限制。
什么有效:
fig_raw = plt.figure(num = 'raw');
plt.plot(data_rd, figure=fig_raw);
plt.xlim(0, 200);
plt.show(False);
for i in range(0, data_rd.size/200-1):
plt.xlim(i*200, (i+1)*200);
plt.draw();
raw_input(i);
time.sleep(1);
如何进行程序化平移(不使用raw_input())?
【问题讨论】:
-
如果你想使用循环,你需要通过
plt.ion()激活交互模式。这显示在副本中。或者,我建议使用更稳定的FuncAnimation。在这个网站上使用FuncAnimation有很多可能的答案。
标签: python matplotlib