Python使用matplotlib库FuncAnimation动态绘制多条曲线

最近开始学习Python,发现确实好用,简单而高效,但毕竟不是系统学习。工作后大部分时间都是一边实践一边学习,有不会的地方随时查找资料。
要实现的功能:
目标轨迹存在动态变换刷新,因此需要对轨迹线条动态创建和赋值
功能实现的思路:
使用matplotlib.animation中的FuncAnimation来实现,创建成员变量lines用于存储所有的轨迹线段
存在的问题:
FuncAnimation中的func回调函数在返回后会出现错误

		self.lines = [self.ax.plot(np.array(tt.ax), np.array(tt.ay)) for tt in targets_tracks]
        return self.lines

提示错误信息为AttributeError: ‘list’ object has no attribute ‘get_zorder’。
分析原因:
原因在于self.lines的每个子项都是list,即plot函数的返回值是个list
解决方式:

		self.lines.clear()
        for tt in targets_tracks:
            ln, = self.ax.plot(np.array(tt.ax), np.array(tt.ay))
            self.lines.append(ln)
        
        return self.lines

将plot每个返回的子项的list中得到所需的内容,再将其组成新的list,返回。

仅此记录,作为初学者,还请各位python专家指导一二

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值