首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >FuncAnimation仅返回一帧

FuncAnimation仅返回一帧
EN

Stack Overflow用户
提问于 2021-07-11 18:23:47
回答 1查看 17关注 0票数 0

我正在尝试显示群体的随机行走,并将其显示在动画中,然而,FuncAnimation似乎没有超过第一帧,尽管它在spyder中显示帧时正在访问动画功能。

当整个种群(Npop)具有Bool=1或当t达到250时,动画将停止

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
step_set = (-1, 0, 1)
    
def animate(t):
    global NpopCol,NpopA, NpopB, Npop,path, step,step_set,Bool, direction
    print(t)
    for i in range(0,Npop):
        path[i] =step[i]          
        direction =np.random.choice(step_set,2)
        for j in range(0,Npop):
            if(Bool[j]==1):
                if(path[j][0]==path[i][0])&(path[j][1]==path[i][1]):
                        Bool[i]=1 
        ##generate a path, moving 1 square right/left , up/down / diagonally
        step[i]=step[i]+ direction
    NpopCol=[]
    for i in range (0,Npop):
        if(Bool[i]==1):  
            NpopCol.append('r')
        if(Bool[i]==0)  &(i<NpopA)   : 
            NpopCol.append('b')
        if(Bool[i]==0)  &(i>=NpopA)   : 
            NpopCol.append('g')
    
    if (sum(Bool)==Npop) or t>250:
        anim.event_source.stop()
    ##t=t+1
    scat.set_offsets(path)   
    scat.set_color(NpopCol)     
    return scat,path
     

fig , ax=plt.subplots()
scat=plt.scatter(path[:,0], path[:,1],c=NpopCol,s=10)
anim=FuncAnimation(fig,animate,interval=10)
plt.show()

以上是我正在使用的代码,任何关于这件事的帮助都将不胜感激。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-23 06:08:24

我发现Spyder在运行这个程序时出了点问题(可能是我之前设置的某种设置,或者是一些冲突的库)。我的同事也运行了相同的代码,并为他工作。

我在Google Colab上尝试了同样的代码,它起作用了!如果您有相同的问题,我建议您在不同的环境中运行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68338968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文