在 Matplotlib 中动态更新条形图


要在 Matplotlib 中动态更新条形图,我们可以采取以下步骤 −

  • 设置图形大小并调整子图之间和周围的填充。
  • 创建一个新图形或激活一个现有图形。
  • 列出数据点和颜色。
  • 使用 bar() 方法用 datacolors 绘制条形图。
  • 使用 FuncAnimation() 类,通过重复调用设置条形高度和条形面颜色的函数 animation,制作一个动画。
  • 使用 show() 方法显示图形。

示例

import numpy as np
from matplotlib import animation as animation, pyplot as plt, cm

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()

data = [1, 4, 3, 2, 6, 7, 3]
colors = ['red', 'yellow', 'blue', 'green', 'black']
bars = plt.bar(data, data, facecolor='green', alpha=0.75)

def animate(frame):
   global bars
   index = np.random.randint(1, 7)
   bars[frame].set_height(index)
   bars[frame].set_facecolor(colors[np.random.randint(0, len(colors))])

ani = animation.FuncAnimation(fig, animate, frames=len(data))

plt.show()

输出

更新于: 2021 年 7 月 8 日

3K+ 次浏览

开启你的 职业

完成教程获得认证

开始
广告