【问题标题】:programmatic pan for python pyplot [duplicate]python pyplot的编程平底锅[重复]
【发布时间】: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


【解决方案1】:

尝试改变图形的维度

fig = plt.figure(figsize=(20, 2))
ax = fig.add_subplot(111)
ax.plot(x, y)

正如在回答这个question 时提到的那样

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-16
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多