Глядя на документацию , вы можете передавать выделенные параметры текстовым объектам в круговой диаграмме, используя ключевое слово textprops
.textprops
принимает dict
, который, очевидно, принимает все параметры, которые принимаются matplotlib.text.Text .Подавая его, параметры rotation_mode='anchor'
, va='center'
и ha='left'
дают довольно хорошие результаты:
import matplotlib.pyplot as plt
figure = plt.figure()
figure.patch.set_facecolor("None")
figure.subplots_adjust(left=0.08, bottom=0.10, right=0.99, top=0.97)
figure.clf()
axes = figure.add_subplot(111)
axes.set_aspect(1)
y = [1,2,3, 4,8,16,32]
label = ['1.52%', '3.03%', '4.55%', '6.06%', '12.12%', '24.24%', '48.48%']
axes.pie(
y, labels=label, labeldistance=0.6, rotatelabels =True,
textprops = dict(rotation_mode = 'anchor', va='center', ha='left'),
)
plt.show()
Результат кода выглядит следующим образом:

Обратите внимание, что я добавил ax.set_aspect(1)
, чтобы сделать круговую диаграмму круглой.Если вы этого не хотите, просто пропустите эту строку.