繁体   English   中英

绘制图形点对点python

[英]Plot a graph point to point python

我想知道是否有某种方法可以通过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

您也可以使用Matplotlib的FuncAnimation函数来执行此操作。 改编matplotlib示例之一

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM