Reputation: 8431
Is there a way to change the default position of the percent label in a matplotlib pie chart?
Here is an example 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
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