Предостережение: если флажки ticklabels уже установлены в строку (как это обычно бывает в случае, например, в коробке), это не будет работать с любой версией matplotlib, новее чем 1.1.0
. Если вы работаете с текущим мастером github, это не сработает. Я не уверен, что проблема еще ... Это может быть непреднамеренным изменения, или оно не может быть ...
Как правило, вы могли бы сделать что-то вдоль этих линий:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# We need to draw the canvas, otherwise the labels won't be positioned and
# won't have values yet.
fig.canvas.draw()
labels = [item.get_text() for item in ax.get_xticklabels()]
labels[1] = 'Testing'
ax.set_xticklabels(labels)
plt.show()
Чтобы понять причину, по которой вам нужно перепрыгнуть через много обручей, вам нужно понять немного больше о том, как структурируется matplotlib.
Matplotlib преднамеренно избегает выполнения «статического» позиционирования клещей и т. Д., Если только это явно не сказано. Предполагается, что вы захотите взаимодействовать с сюжетом, и поэтому границы сюжета, тика, метки и т. Д. Будут динамически меняться.
Таким образом, вы не можете просто установить текст данной метки ярлыка. По умолчанию, он изменяется на Locator и Formatter по оси каждый раз при рисовании графика.
Однако, если Locators and Formatters установлены как статические (FixedLocator
и FixedFormatter
соответственно), то метки тика остаются неизменными.
Это то, что set_*ticklabels
или ax.*axis.set_ticklabels
.
Надеюсь, это еще более ясно говорит о том, почему изменение индивидуальной метки ярлыка немного запутанно.
Часто то, что вы на самом деле хотите сделать, это просто аннотировать определенную позицию. В этом случае обратите внимание на annotate
.
Можете ли вы SUPPL y сюжет, который вы использовали для получения ярлыка? – Claudio
См. Фрагмент выше – repoman
Вы получаете пустые ярлыки, потому что вы еще не нарисовали холст. Если вы вызываете 'draw()' перед тем, как пытаться распечатать метки, вы получите то, что ожидаете. Устанавливать индивидуальные метки ярлыков, к сожалению, сложнее (что происходит, когда локатор тиков и форматирование не были сброшены, и это переопределяет вещи, когда вы 'set_text'). Я немного добавлю пример, если кто-то меня не избивает. Я должен поймать автобус, на данный момент. –