小编Mar*_*ath的帖子

Python中的动画条形图

我想在Python中制作一个动画条形图并以mp4格式保存这个动画.我的问题是保存的视频覆盖中的帧,虽然我使用"blit = True"来告诉动画,只画出帧之间变化的东西.令人惊讶的是,在Python的内置预览中不会出现此问题.这是一个反映我情况的最小值:

import matplotlib.pyplot as plt
from matplotlib import animation

def barlist(n): #That's the list of bars I want to display
    C=[]
    for k in range(1,6):
        C.append(1/float(n*k))
    return C

fig=plt.figure()

n=100 #Number of frames

def animate(i):
    x=range(1,6)
    y=barlist(i+1)
    return plt.bar(x,y)

anim=animation.FuncAnimation(fig,animate,repeat=False,blit=True,frames=n,
                             interval=50)
anim.save('barchart_animated_'+str(n)+'.mp4')
plt.show()
Run Code Online (Sandbox Code Playgroud)

我必须承认,我不太清楚我应该做些什么来消除这个缺陷.我所知道的唯一的例子是条形图没有叠加在框架中(更确切地说,我指的是以下链接的第一个答案的代码):

动态更新matplotlib中的条形图

似乎我不得不告诉动画如何使用set_height-method设置每个帧的每个条的高度.但正如我所说,我真的不知道上面的例子中有什么问题.谢谢你的帮助!

马丁

matplotlib bar-chart python-2.7

3
推荐指数
1
解决办法
7177
查看次数

标签 统计

bar-chart ×1

matplotlib ×1

python-2.7 ×1