
正如@Rutger Kassies在评论中指出的那样,
dline = plot(xx,data)
对输入数据进行一些魔术分析,将您的数组分成一堆xy对,并绘制它们。请注意,
dline是一个 列表 的
Line2D对象。在这种情况下
mline, = plot([],[])mline.set_data(xx.T,data.T)
您正在创建一个
Line2D对象,并且库最好将2D数据推入到1D绘图对象中,并通过展平输入来做到这一点。
要设置
N线条动画,您只需要
N
Line2D对象:
lines = [plot([],[])[0] for j in range(Ny)] # make a whole bunch of linesdef init(): for mline in lines: mline.set_data([],[]) return linesdef animate(coef): data = odata * (1.-float(coef)/360.) for mline, x, d in zip(lines, data.T, xx.T): mline.set_data(x, d) return lines
您也不需要预先分配,
data并且在python中执行循环要比让
numpy它们做起来要慢得多。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)