matplotlib饼图标注数据
时间: 2024-11-15 14:31:18 浏览: 21
在matplotlib库中创建饼图并添加数据标签通常涉及到`pie`函数和`text`函数的结合使用。下面是一个基本的例子:
```python
import matplotlib.pyplot as plt
# 假设我们有一些数据
labels = ['Label A', 'Label B', 'Label C', 'Label D']
sizes = [30, 45, 15, 10] # 数据对应的百分比
fig, ax = plt.subplots()
# 创建饼图
ax.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90, radius=1) # autopct用于显示每个扇区的百分比
# 添加数据标签
for i, wedge in enumerate(ax.patches):
center, width, height = wedge.get_width(), wedge.get_height(), wedge.get_theta1() - wedge.get_theta0()
x, y = center + width / 2, height / 2 # 获取中心点坐标
ax.text(x, y, sizes[i], ha='center', va='center', rotation=wedge.theta1 * 180 / pi) # 根据角度旋转文本
plt.show()
```
在这个例子中,`autopct='%1.1f%%'`会让每个扇形旁边显示百分比,`startangle=90`设置从顶部开始计数,`rotation`根据扇形的角度调整文本的位置。
阅读全文