在实时绘图(python)

时间:2016-08-25 08:50:20

标签: python matplotlib plot real-time axis

我想在实时绘图中操纵x轴,这样一次最多可以看到10个样本。 在初始化绘图之后,似乎plt.axis()仅更新一次。有什么建议?提前致谢!

import numpy as np
import matplotlib.pyplot as plt

# Initialize
x_axis_start = 0
x_axis_end = 10

plt.axis([x_axis_start, x_axis_end, 0, 1])
plt.ion()

# Realtime plot
for i in range(100):
    y = np.random.random()
    plt.scatter(i, y)
    plt.pause(0.10)
    # print(i)

    if i%10 == 0 and i>1:
        # print("Axis should update now!")
        plt.axis([x_axis_start+10, x_axis_end+10, 0, 1])

1 个答案:

答案 0 :(得分:1)

您必须在x_axist_start声明中更新x_axis_endif

if i%10 == 0 and i>1:
    print("Axis should update now!")
    x_axis_start += 10
    x_axis_end += 10
    plt.axis([x_axis_start, x_axis_end, 0, 1])

这就是诀窍! :)

说明:您只为这两个参数添加了一次。最后,您总是添加10到0和10,只剩下一次更新。