我在两个数组中获取了一些数据:一个用于时间,一个用于值.当我达到1000点时,我触发一个信号并绘制这些点(x =时间,y =值).
我需要在前面的图中保持相同的数字,但只是一个合理的数字,以避免减慢过程.例如,我想在我的图表上保留10,000点.
matplotlib交互式绘图工作正常,但我不知道如何擦除第一个点,它会很快地减慢我的计算机速度.
我查看了matplotlib.animation,但它似乎只是重复相同的情节,并没有真正实现它.
我真的在寻找一个轻松的解决方案,以避免任何减速.
由于我获取了很长时间,我在每个循环上擦除输入数据(第1001点存储在第1行,依此类推).
这是我现在所拥有的,但它保留了图表上的所有点:
import matplotlib.pyplot as plt
def init_plot():
plt.ion()
plt.figure()
plt.title("Test d\'acqusition", fontsize=20)
plt.xlabel("Temps(s)", fontsize=20)
plt.ylabel("Tension (V)", fontsize=20)
plt.grid(True)
def continuous_plot(x, fx, x2, fx2):
plt.plot(x, fx, 'bo', markersize=1)
plt.plot(x2, fx2, 'ro', markersize=1)
plt.draw()
我将init函数调用一次,并且continous_plot处于一个进程中,每当我在数组中有1000个点时调用它.