Python Matplotlib动画
亲爱的StackOverloow会员您好, 我在理解matplotlib的FuncAnimation模块时遇到问题。你介意帮我一点忙吗?我有两个问题:Python Matplotlib动画,python,animation,matplotlib,Python,Animation,Matplotlib,亲爱的StackOverloow会员您好, 我在理解matplotlib的FuncAnimation模块时遇到问题。你介意帮我一点忙吗?我有两个问题: 为什么dieinit和animate函数在仅返回绘图后都需要逗号 为什么我的代码不更新时间文本?如果我让它在每个动画之后打印t,我会在控制台中正确地添加一个,但文本不会在绘图中更新 1) 我不太清楚你的意思。在init和animate中,您需要同时返回PLOT和time\u text,因此您可以用逗号分隔它们,这样每个函数都将返回一个元组 对于
init
和animate
函数在仅返回绘图后都需要逗号
init
和animate
中,您需要同时返回PLOT
和time\u text
,因此您可以用逗号分隔它们,这样每个函数都将返回一个元组
对于PLOT中的“挂起”逗号,=sub.PLOT([],[])
,sub.PLOT
返回一个包含单个元素的列表,即matplotlib.lines.Line2D
对象。绘图,
正在解包此单元素列表。因此,您也可以这样做:
PLOT = sub.plot([],[])[0]
获取元素
2) 您的代码确实更新了time\u text
,您只是把它画出了图形的边界。例如改变:
time_text = sub.text(1,1,"",transform = sub.transAxes, ha="right")
致:
使其显示在右下角,或<代码> 0.5,0.5 < /代码>以使其显示在屏幕中间。Python元组中的
< P>使用括号和逗号编写,例如(3,2)。 这是一个2元组。一个元组应该是长度为1的(2,)。这与完全没有定义长度的int 2不同。 注意:()是内容为空的0元组 在这种情况下,函数返回长度为1的枚举,因此 省略逗号将使绘图成为可枚举的。用逗号符号 元组图的内容与返回值的内容相匹配作业中可以省略括号,因此绘图与(绘图)相同。其他答案不能完全回答第一个问题 仅当使用
blit=True
时,才严格需要init
和animate
的返回语句。这些函数将返回一组艺术家,以更新动画。有了两位艺术家,回归可能看起来像
return artist1, artist2
# or
return [artist1, artist2]
如果一个艺术家需要更新,你必须记住仍然需要一个iterable。在单个艺术家之后使用逗号是使函数返回iterable的最简单方法
return artist1,
# or
return [artist1]
好的,我明白了,非常感谢。关于逗号的事情:例如,如果我完全省略了时间显示,只返回新的绘图数据:
returnplot
我会得到一个错误。但是如果我返回returnplot,
它会工作。这是为什么?PLOT,
解压PLOT
中的内容。在控制台上尝试此操作:a,=[1]
。然后打印a
。
return artist1, artist2
# or
return [artist1, artist2]
return artist1,
# or
return [artist1]