Я пытаюсь скрыть первый и последний тиковый текст по оси x моего бара, который является "2004" и "2013". Matplotlib автоматически добавляет их по умолчанию, хотя мой набор данных рассчитан на период с 2005 по 2012 год, поэтому я бы предпочел не иметь 2004 и 2013 годы в моем баре. Я ищу некоторые строки кода для выбора и скрытия этих тиков. Есть идеи?
Matplotlib - сокрытие определенных клещей по оси x
Ответ 1
Пожалуйста, скажите мне, если это не то, что вы хотите.
import sys, os
import matplotlib.pyplot as plt
path = sys.path[0]
sizes = [(12,3,), (4,3,)]
x = range(20)
for i, size in enumerate(sizes):
fig = plt.figure(figsize = size, dpi = 80, facecolor='white',edgecolor=None,linewidth=0.0, frameon=True, subplotpars=None)
ax = fig.add_subplot(111)
ax.plot(x)
plt.ylabel ('Some label')
plt.tight_layout()
make_invisible = True
if (make_invisible):
xticks = ax.xaxis.get_major_ticks()
xticks[0].label1.set_visible(False)
xticks[-1].label1.set_visible(False)
plt.show()
В этом примере отображаются невидимые первые и последние X-тики. Но вы можете легко добавить проверку для ваших специальных тиков.
Ответ 2
Просто добавив к @DmitryNazarov ответ, если вы хотите просто скрыть метки ярлыков, удерживая линии сетки видимыми, используйте:
ax = plt.gca()
ax.axes.xaxis.set_ticklabels([])
ax.axes.yaxis.set_ticklabels([])