Я использую matplotlib для создания диаграммы, и я использую set_ticks
и set_ticklabels
, чтобы выделить несколько важных значений по оси x. Но некоторые из этих ярлыков слишком близки и перекрываются. Но я не знаю, как перемещать эти ярлыки, не перемещая тики.
Вот иллюстрация:
Я пробовал несколько трюков, но не смог, и я не нашел ответа на этот вопрос в Интернете. Любая помощь, спасибо.
Обновление:
Исходный код:
fig = mpl.figure( figsize=(3, 3) ) # force figsize here to reproduce the problem.
ax = fig.add_subplot(1, 1, 1, frameon=False)
ax.set_xlim(-0.015, 1.515)
ax.set_ylim(-0.01, 1.01)
ax.set_xticks([0, 0.3, 0.4, 1.0, 1.5])
ax.grid(True)
mpl.show()
И результат:
Я пробовал несколько трюков, и лучший из них:
fig = mpl.figure( figsize=(3, 3) )
ax = fig.add_subplot(1, 1, 1, frameon=False)
ax.set_xlim(-0.015, 1.515)
ax.set_ylim(-0.01, 1.01)
ax.set_xticks([0, 0.3, 0.4, 1.0, 1.5])
ax.set_xticklabels([0.0, "", "", 1.0, 1.5])
ax.set_xticks([0.35], minor=True)
ax.set_xticklabels(["0.3 0.4"], minor=True)
ax.grid(True)
mpl.show()
Но есть незначительный тик в x = 0,35, и я не знаю, как его удалить.
Обновление 2:
ОК, я обнаружил, как сам удалить небольшие тики:
for line in ax.xaxis.get_minorticklines():
line.set_visible(False)
Таким образом, мы можем использовать небольшие тики, чтобы пометить метки меток в любом месте.
Спасибо всем сердечным!