python利用多组数据绘制兰丁格尔玫瑰图
时间: 2023-12-19 11:06:43 浏览: 79
[推荐]C#报表制作视频教程+Echarts+柱状图+饼状图+曲线图+男丁格尔图+折线图+面积图+环形图
可以使用Python的matplotlib库来绘制兰丁格尔玫瑰图。以下是一些参考代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 随机生成一些数据
data = np.random.randint(1, 10, size=(5, 8))
# 计算每个区域的数值和
total = np.sum(data, axis=1)
# 计算每个区域占总数值的比例
proportions = data / total[:, np.newaxis]
# 设置颜色和标签
colors = ['red', 'orange', 'yellow', 'green', 'blue']
labels = ['Group 1', 'Group 2', 'Group 3', 'Group 4', 'Group 5']
# 绘制兰丁格尔玫瑰图
fig, ax = plt.subplots(subplot_kw=dict(polar=True))
angles = np.linspace(0, 2*np.pi, data.shape[1], endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
for i in range(data.shape[0]):
values = proportions[i]
c = colors[i % len(colors)]
ax.plot(angles, np.concatenate((values, [values[0]])), color=c)
ax.fill(angles, np.concatenate((values, [values[0]])), color=c, alpha=0.25)
ax.set_theta_zero_location('N')
ax.set_theta_direction(-1)
ax.set_thetagrids(angles[:-1]*180/np.pi, labels)
plt.show()
```
希望这个代码能够帮到你!
阅读全文