8.6 [案例]波涛汹涌
用二维数组绘制曲线图,是一件很容易的事情。这里需要使这些曲线连续地动起来,就像大海里的波涛涌动。可以通过对二维数组从第1列到最后1列,从左到右一列列移动数据(最左边1列新增补充新值)使绘图区域的曲线显示出从左到右滚动的效果。
主要实现步骤如下。
首先,用np.random.uniform(0,1,(64,75))生成64行75列二维数组,再通过64次循环,用i + G * data[i]生成64条波浪线的y坐标值,用X = np.linspace(-1,1,data.shape[-1])生成75列的x坐标值;
然后,用刷新函数update( )刷新一次,让data数组从左到右移动1列数据,并补充最左边1列数据,并把变化结果存储到lines列表对象里;
最后,通过FuncAnimation( )函数完成动态绘制。
代码文件:8_6_wave.py(https://www.daowen.com)


上述代码执行结果如图8.5所示。

图8.5 波涛汹涌动画效果