Daniel
Daniel

Reputation: 8431

percent label position in pie chart

Is there a way to change the default position of the percent label in a matplotlib pie chart?

Here is an example pie chart:

My pie chart

Which I have created using:

plt.pie(sizes, labels=labels, colors=colors, explode=explode, autopct='%1.0f%%')

Now I don't like how some percent labels are intruding on other sections teritory (actually the only perpitrator in this example is the 9m section). Ideally I would like such labels to be outside the pie chart with an arrow of some sort pointing to the section, or alternativly just outside the section.

Upvotes: 61

Views: 124593

Answers (1)

Alvaro Fuentes
Alvaro Fuentes

Reputation: 17455

You can control the distance of the percents and labels from the center of the pie using pctdistance= and labeldistance=, try this on your code:

plt.pie(sizes, labels=labels, autopct='%1.0f%%', pctdistance=1.1, labeldistance=1.2)

You can also set a radius of the pie using radius= (by default is 1)

Upvotes: 116

Related Questions