У меня вопрос по поводу выравнивания меток pie-chart
.Я хотел бы иметь метки вне круговой диаграммы и по центру каждого клина.Согласно странице документации, параметр "labeldistance
" позволяет размещать метки вне круговой диаграммы, а параметры "ha" & "va"
должны находиться в центре.Однако эти два параметра (ha & va), похоже, не работают на Matplotlib v2.1.0+
.1) В этом примере (см. Ниже) вы можете видеть, что метка " car " не отцентрирована должным образом, она немного смещена от центра.
import matplotlib.pyplot as plt
figure = plt.figure()
axes = figure.add_subplot(111)
axes.set_aspect(1) # circular pie
y = [1,2,3, 4,8,16,18]
label = ['car','domino', 'romancical','testing1', 'thisisthelonglabel',
'fffffffffffffffffffffffffffffffffffffffffff', 'as']
wedges, texts = plt.pie(y,
radius=1.2,
labels=label,
labeldistance=1.0,
rotatelabels =True,
startangle = 10,
wedgeprops = {"linewidth": 0.7,
"edgecolor": "white"},
textprops = dict(ha="center",
va="center")) # doesn't work
plt.show()
Я добавил следующие строки, чтобы принудительно центрировать метки, что работает, но отключил параметр "labeldistance
".Так что все мои центрированы правильно, так как я хочу, чтобы метки перекрывались с круговой диаграммой.
wedges, texts = plt.pie(y,
radius=1.2,
labels=label,
labeldistance=1.0,
rotatelabels =True,
startangle = 10,
wedgeprops = {"linewidth": 0.7,
"edgecolor": "white"},
textprops = dict(ha="center",
va="center"))
for t in texts:
t.set_horizontalalignment("center")
t.set_verticalalignment("center")
plt.show()
Так что мой вопрос: делай "Опции ha
"&" va
"работают для других пользователей?И кто-нибудь может посоветовать, если есть решение для сохранения "labeldistance
" при использовании .set_horizontalalignment("center")
и set_verticalalignment("center")
?
Спасибо.