用matplotlib画动态柱状图
时间: 2023-07-12 14:22:24 浏览: 95
好的,以下是使用matplotlib画动态柱状图的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 初始化数据
x = np.arange(10)
y = np.random.randint(1, 20, 10)
# 创建柱状图
fig, ax = plt.subplots()
rects = ax.bar(x, y)
# 定义更新函数
def update(num):
y = np.random.randint(1, 20, 10)
for i, rect in enumerate(rects):
rect.set_height(y[i])
return rects,
# 创建动画
from matplotlib.animation import FuncAnimation
ani = FuncAnimation(fig, update, frames=range(10), interval=200)
# 显示动画
plt.show()
```
在这个示例中,我们首先通过numpy生成了一组初始的数据,然后通过matplotlib创建了一个柱状图。接着我们定义了一个`update`函数,这个函数会在每一帧动画中被调用,然后随机生成一组新的数据,并将柱子的高度设置为新的数据值。最后我们利用`FuncAnimation`创建了一个动画,并显示在屏幕上。
需要注意的是,为了实现动态效果,这个程序需要使用动画模块,因此需要安装matplotlib的`animation`模块。如果你使用的是Anaconda Python发行版,你可以通过以下命令安装:
```
conda install -c conda-forge matplotlib
```
如果你使用的是标准的Python环境,你可以通过以下命令安装:
```
pip install matplotlib
```
希望这个示例能够帮助你实现你的需求。
阅读全文