我想在饼图中将标签从中心移动到每个楔形块的开始:
import matplotlib.pyplot as plt
# Setting labels for items in Chart
Employee = ['A', 'B', 'C',
'D', 'E']
# Setting size in Chart based on
# given values
Salary = [40000, 50000, 70000, 54000, 44000]
# colors
colors = ['#FF0000', '#0000FF', '#FFFF00',
'#ADFF2F', '#FFA500']
fig, ax = plt.subplots(figsize=(5,5), facecolor = "#FFFFFF")
# Pie Chart
wedges, texts = ax.pie(Salary, colors=colors,
labels=Employee, labeldistance=0.8,
wedgeprops=dict(width=0.35),)
我可以获得标签的坐标,并将其替换为:
for lbl,p in zip(Employee,texts, ):
x, y = p.get_position()
print(x,y,p)
ax.annotate(lbl, xy=(x,y), size=12, color = "w")
但我不知道如何移动它们来跟随圆圈.
我也可以得到每个楔形开始的Angular 调用楔形属性,但由于饼图是绘制在笛卡尔轴而不是极轴上,我不知道如何?
我不能用barh来做这个(我的图表比这里显示的要复杂).
这可能吗?
这就是我想要标签的位置.