绘制图形指向点python

时间:2016-01-21 18:35:58

标签: python matplotlib graph

我想知道是否有某种方法可以通过matplotlib将波形点绘制为以特定速率指向,以便图形在窗口中缓慢显示。或者另一种图形方法在窗口中以特定速度出现而不是同时出现所有点。我已经尝试了这个,但我一次只能绘制一部分点数

import numpy as np
import matplotlib.pyplot as plt
import time

x = np.arange(0,5,0.001)
y = np.sin(2*np.pi*x)

ind_i = 0
ind_f = 300


while ind_f <= len(x):

    xtemp = x[ind_i:ind_f]
    ytemp = y[ind_i:ind_f]

    plt.hold(True)
    plt.plot(xtemp,ytemp)
    plt.show()
    time.sleep(1)    

    ind_i = ind_f
    ind_f = ind_f + 300

1 个答案:

答案 0 :(得分:1)

您也可以使用Matplotlib的FuncAnimation功能执行此操作。适应one of the matplotlib examples

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

x = np.arange(0,5,0.001)
y = np.sin(2*np.pi*x)

def update_line(num, data, line):
    line.set_data(data[..., :num])
    return line,

fig = plt.figure()

data = np.vstack((x,y))
l, = plt.plot([], [], 'r-')
plt.xlim(0, 5)
plt.ylim(-1, 1)
line_ani = animation.FuncAnimation(fig, update_line, frames=1000,
                           fargs=(data, l), interval=20, blit=False)
plt.show()