Matplotlib - сокрытие определенных клещей по оси x - программирование
Подтвердить что ты не робот

Matplotlib - сокрытие определенных клещей по оси x

Я пытаюсь скрыть первый и последний тиковый текст по оси x моего бара, который является "2004" и "2013". Matplotlib автоматически добавляет их по умолчанию, хотя мой набор данных рассчитан на период с 2005 по 2012 год, поэтому я бы предпочел не иметь 2004 и 2013 годы в моем баре. Я ищу некоторые строки кода для выбора и скрытия этих тиков. Есть идеи?

4b9b3361

Ответ 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([])