python如何绘制南丁格尔玫瑰图
时间: 2024-09-12 16:15:23 浏览: 100
在Python中,你可以使用matplotlib库来绘制南丁格尔玫瑰图,这是一种特殊的折线图,用于展示数据的分布情况。南丁格尔玫瑰图也被称为蜘蛛图或者星形图。以下是一个简单的示例:
```python
import matplotlib.pyplot as plt
# 假设我们有四个类别,每个类别有三个属性的数据
categories = ['A', 'B', 'C', 'D']
attribute_values = [[50, 70, 80], [60, 90, 95], [40, 60, 70], [70, 80, 90]]
# 创建玫瑰图
fig, ax = plt.subplots()
ax.spines['polar'].set_visible(False) # 隐藏极轴
for i, category in enumerate(categories):
angles = [n / float(len(attribute_values)) * 2 * np.pi for n in range(len(attribute_values[i]))]
values = attribute_values[i]
ax.plot(angles, values, label=category)
ax.fill(angles, values, alpha=0.5)
# 设置标题和标签
ax.set_title('南丁格尔玫瑰图')
ax.set_xticks([n * (2 * np.pi / len(categories)) for n in range(len(categories))])
ax.set_xticklabels(categories)
ax.set_yticks([])
ax.legend(loc='upper left')
plt.show()
```
在这个例子中,`attribute_values`是一个二维列表,每行代表一个类别的一组数值。`spines['polar'].set_visible(False)`是为了隐藏极轴,使图形看起来更像传统的平面图表。
阅读全文