python动态展示雷达图
时间: 2023-07-11 16:40:39 浏览: 94
可以使用 `matplotlib` 和 `numpy` 库来动态展示雷达图。以下是一个简单的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
# 数据
categories = ['A', 'B', 'C', 'D', 'E']
data = np.random.randint(low=1, high=6, size=(5,))
# 创建子图
fig, ax = plt.subplots(figsize=(5, 5), subplot_kw=dict(polar=True))
# 绘制初始雷达图
angles = np.linspace(0, 2 * np.pi, len(categories), endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
ax.plot(angles, np.ones_like(angles), linewidth=0.5, color='gray')
ax.fill(angles, np.ones_like(angles), facecolor='gray', alpha=0.2)
ax.set_thetagrids(angles[:-1] * 180 / np.pi, categories)
# 动态更新雷达图
def update(num):
data = np.random.randint(low=1, high=6, size=(5,))
ax.clear()
ax.plot(angles, np.ones_like(angles), linewidth=0.5, color='gray')
ax.fill(angles, np.ones_like(angles), facecolor='gray', alpha=0.2)
ax.plot(angles, np.concatenate((data, [data[0]])), 'o-', linewidth=2, label='data')
ax.set_thetagrids(angles[:-1] * 180 / np.pi, categories)
ax.legend(loc='best')
# 动画对象
ani = animation.FuncAnimation(fig, update, frames=range(10), interval=1000, repeat=True)
# 展示动画
plt.show()
```
这个代码会展示一个随机更新的五个类别的雷达图,每次更新间隔为1秒,总共更新10次。你可以根据自己的需求来更改数据和动画的设置。
阅读全文