2016-12-17 3 views
0

Я использую базовую функцию axis.annotate(str(i)) для отображения значений вдоль точек моего графика. Проблема в том, что они быстро сближаются. Поэтому у меня есть два вопроса: как удалить аннотацию? И как я могу сделать один меньше (размер шрифта)?Как удалить и изменить размер аннотаций matplotlib?

Вот ссылка на метод аннотаций: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.annotate

Я сделал свое исследование и на удивление ничего не нашли. Приветствия.

+1

Проблема батун аннотациями была решена [здесь] (http://stackoverflow.com/questions/40735808/annotation-auto-placement-matploylib-pyplot-or-list-annotations) и [этот вопрос ] (http://stackoverflow.com/questions/14938541/how-to-improve-the-label-placement-for-matplotlib-scatter-chart-code-algorithm) может быть в равной степени интересным. – ImportanceOfBeingErnest

+0

Выглядит интересно. Приветствия. –

ответ

1

axis.annotate(str(i)) возвращает оси Объект аннотации. Вам нужно назначить ему переменную, а затем вы будете манипулировать ею, как хотите.

fig, ax = plt.subplots(1,1) 
ax.plot(range(5)) 
text = ax.annotate(xy = (2,2), s='asdf') 
# use any set_ function to change all the properties 
text.set_fontsize(20) 
+0

безупречный - как об удалении? ура! –

+0

Вы можете удалить любого исполнителя из рисунка с помощью 'del'. Поэтому в этом случае 'del text' будет работать. – ImportanceOfBeingErnest

Смежные вопросы