用matplotlib绘制玫瑰图的代码
时间: 2023-07-12 21:16:16 浏览: 136
好的,下面是用matplotlib绘制玫瑰图的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 准备数据
N = 4
theta = np.linspace(0, 2 * np.pi, N, endpoint=False)
radii = [10, 20, 30, 40]
width = 2 * np.pi / N
# 绘制玫瑰图
ax = plt.subplot(111, projection="polar")
bars = ax.bar(theta, radii, width=width, bottom=0.0)
# 设置每个数据项的颜色
for r, bar in zip(radii, bars):
bar.set_facecolor(plt.cm.jet(r / 40.))
bar.set_alpha(0.8)
# 设置极轴、刻度、标签等
ax.set_rlim(0, 50)
ax.set_rticks([10, 20, 30, 40])
ax.set_rlabel_position(180 / N)
ax.set_xticks(theta)
ax.set_xticklabels(['A', 'B', 'C', 'D'])
# 添加标题
plt.title("玫瑰图示例")
# 显示图表
plt.show()
```
解释一下代码:
1. 准备数据:我们先定义数据项的数量`N`,然后使用`numpy`库的`linspace`函数生成一个长度为`N`的角度数组`theta`,并计算每个角度所对应的半径值。这里我们简单地使用了一个固定的半径数组`radii`。
2. 绘制玫瑰图:我们创建一个极坐标子图,并使用`bar`方法绘制每个数据项。其中`width`参数表示每个数据项的宽度,`bottom`参数表示每个数据项的起始高度。
3. 设置颜色:我们使用`set_facecolor`方法为每个数据项设置颜色,这里使用了`jet`颜色映射。
4. 设置极轴、刻度、标签等:我们使用一系列方法设置极轴的范围、刻度、标签等。
5. 添加标题:我们使用`title`方法添加图表的标题。
6. 显示图表:最后,我们使用`show`方法显示图表。
注意:在运行代码之前,需要先安装`matplotlib`库。可以使用以下命令进行安装:
```bash
pip install matplotlib
```
阅读全文