python圆环图labels添加引导线注释
时间: 2023-10-15 12:07:20 浏览: 128
带有指引线的环形图
您可以使用 Matplotlib 库中的 pie 函数创建圆环图,并使用 annotate 函数添加引导线注释。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
# 数据
sizes = [15, 30, 45, 10]
labels = ['A', 'B', 'C', 'D']
# 颜色
colors = ['#ff9999','#66b3ff','#99ff99','#ffcc99']
# 创建圆环图
fig1, ax1 = plt.subplots()
ax1.pie(sizes, colors=colors, labels=labels, autopct='%1.1f%%', startangle=90, pctdistance=0.85, textprops={'fontsize': 14})
# 添加圆环
centre_circle = plt.Circle((0,0),0.70,fc='white')
fig = plt.gcf()
fig.gca().add_artist(centre_circle)
# 添加引导线注释
label_distance = 1.1
for i, (size, label) in enumerate(zip(sizes, labels)):
angle = sum(sizes[:i]) + sizes[i]/2
x = label_distance * 0.70 * plt.cos(2 * angle * plt.pi / 180)
y = label_distance * 0.70 * plt.sin(2 * angle * plt.pi / 180)
plt.annotate(label, xy=(x, y), fontsize=14, ha='center', va='center', xytext=(x*1.1, y*1.1),
arrowprops=dict(facecolor='black', arrowstyle='->'))
# 显示图形
plt.axis('equal')
plt.tight_layout()
plt.show()
```
这将创建一个有注释的圆环图,注释将通过引导线连接到相应的部分。您可以根据需要调整标签距离和字体大小。
阅读全文