plt.pie(data, labels=labels, autopct='%1.1f%%', startangle=90, counterclock=False, labeldistance=1.1)
labeldistance参数可以设置标签与圆心的距离,增加此距离可以使标签更偏离圆心。 offset参数可以设置相对标签位置偏移量,例如:
plt.pie(data, labels=labels, autopct='%1.1f%%', startangle=90, counterclock=False, labeldistance=1.1, textprops={'fontsize': 14}) plt.gca().yaxis.set_major_formatter(mpl.ticker.StrMethodFormatter('{x:,.0f}'))
for i, l in enumerate(labels): angle = (180 - angles[i])/2.0 + angles[i] x, y = plt.gca().get_position().bounds[2:] plt.text(x - 0.05, y, l, {'ha': 'center', 'va': 'center', 'fontsize': 14}, rotation = angle)
这里使用text函数在各块中心位置处添加标签,并根据角度计算每个标签的旋转角度,调整标签位置和方向。
explode = [0, 0.1, 0, 0, 0, 0] colors = ['#ff9999','#66b3ff','#99ff99','#ffcc99','#pink','#yellow']
plt.pie(data, colors=colors, labels=labels, autopct='%1.1f%%', startangle=90, pctdistance=.85, explode=explode)
for i, value in enumerate(values): plt.annotate(label, xy=(0, 0), xytext=(np.cos(theta[i])*1.2, np.sin(theta[i])*1.2), textcoords='offset points', va='center', ha='center', color='black', fontsize=12)
这里通过设置explode为非零值,使得需要重点突出的部分移到图表的边缘处。使用annotate函数将对应标签分别绘制在饼图中心点和边缘。
上一篇:饼图标签重叠
下一篇:饼图标签,Python