有没有一种方法可以对文本列表(不仅是一个)进行动画处理?

时间:2019-06-14 07:55:00

标签: matplotlib animation

骨骼和标签的动画失败(通过build_frame函数获得坐标)。 每帧大约有20个骨架,每个骨架有16个段,并且标签数量相同。 有没有办法将可变的文本框列表返回给动画?

我没有找到在更新功能中向动画添加文本列表的方法吗? 返回一个text()很好,但是不能返回动画中的文本列表。

import matplotlib.pyplot as plt
from matplotlib import collections as mc
from matplotlib.animation import FuncAnimation
....


def update(i):  
    read_file(i) # read input per frame
    b = build_frame(i) 
    # build_frame : (x,y), (colors), (labels, (x,y)) of skeletons (10 -> 20)
    bones = mc.LineCollection(b[0], colors=b[1], linewidths=3)
    ax.add_collection(bones)

    labels = []
    list_text = b[2]
    list_coord = b[3]
    # create a text box in the middle of each skeleton
    for j in range(0, len(list_coord)):
        labels.append(ax.text(list_coord[j][0], list_coord[j][1], list_text[j],transform=ax.transAxes, fontsize=14, bbox=props))
    ax.autoscale()
    return bones, labels,

...
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_axis_off()
ax.autoscale()
ax.set_xlim(0, 2000)
ax.set_ylim(0, 800)
props = dict(boxstyle='round', facecolor='wheat', alpha=0.5)
ani = FuncAnimation(fig, update, frames=len(pose_files), interval=10, init_func=init, blit=True)

该动画对于骨骼(仅用于返回线)效果很好,但不适用于标签。 标签不会被识别为艺术家列表。

错误消息是:AttributeError:“列表”对象没有属性“ get_zorder”

0 个答案:

没有答案