matplotlib饼图文字添加引线
时间: 2023-07-12 14:35:36 浏览: 186
要向 matplotlib 饼图添加引线和文字,可以使用 `matplotlib.pyplot.annotate()` 函数。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
# 数据
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral']
# 绘制饼图
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=90)
# 添加引线和文字
for i, label in enumerate(labels):
angle = sum(sizes[:i+1]) - sizes[i]/2
x = 1.2 * np.cos(np.radians(angle))
y = 1.2 * np.sin(np.radians(angle))
plt.annotate(label, xy=(x,y), xytext=(1.35*x,1.35*y))
# 显示图形
plt.show()
```
在上面的代码中,我们使用 `plt.pie()` 函数绘制了一个饼图。然后,我们使用 `enumerate()` 函数遍历标签列表,并计算每个标签的角度。然后,我们使用 `cos()` 和 `sin()` 函数计算引线的终点。最后,我们使用 `plt.annotate()` 函数将标签添加到引线的末端,并将文本放置在引线的末端之外。
阅读全文