“Annotation”对象不可编辑

2024-09-30 20:17:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一些足球数据,并试图用他们的数字制作一个球员在球场上移动的视频。我让球员们动了起来,但似乎无法计算出数字。我试过几件事,最近的一件是:

objs, = ax.plot(homex,homey,color=hcolorv,marker='o',linestyle="",MarkerSize=PlayerMarkerSize,alpha=PlayerAlpha)
figobjs.append(objs)
objs, = ax.plot(awayx,awayy,color=acolorv,marker='o',linestyle="",MarkerSize=PlayerMarkerSize,alpha=PlayerAlpha)
figobjs.append(objs)
            # if include_player_velocities:
            #   ax.quiver(homex,homey,homes['speed']) We need to break velocities into x and y components
            # if annotate:
            #   ax.text(homex+.5,homey+.5,homes['number'],fontsize=10,color=homecolor)
if annotate:
    for x,y in zip(homex,homey):
        label = list(homes['number'])
        objs, = ax.annotate(label,(x,y),textcoords="offsetpoints",xytext=(0,0),ha='center')

此外,其中一些项目的外观也是这样:

homex
Output: [0.17, 9.06, 19.85, 7.83, 45.18, 0.08, 0.01, 14.55, 19.59, 1.07, 17.25]
homey
Output: [-10.34, 0.97, 4.48, -5.31, 0.22, -22.02, 9.12, 22.68, -3.91, 19.52, -18.88]
list(homes['number'])
Output: [9, 22, 5, 27, 1, 8, 10, 4, 15, 11, 3]

我得到了这个错误:“TypeError:‘Annotation’对象不可编辑”有什么想法吗


Tags: numberoutputifplot数字axmarkercolor
1条回答
网友
1楼 · 发布于 2024-09-30 20:17:31

ax.annotate返回类Annotation的实例。 你把它叫做objs, = ax.annotate(...)objs后面的逗号使Python想要将Annotation分解为一个项目列表,并取第一个项目

tl;dr:你可能不需要在objs后面加逗号

相关问题 更多 >