Matplotlib: ocultar marcas específicas en el eje x

Estoy tratando de ocultar el primer y último texto de tilde del eje x de mi gráfico de barras, que es ‘2004’ y ‘2013’. Matplotlib los agrega automáticamente de manera predeterminada, aunque mi conjunto de datos es de 2005 a 2012, por lo tanto, prefiero no tener 2004 y 2013 en mi gráfico de barras. Estoy buscando algunas líneas de código para seleccionar y ocultar estas marcas. ¿Algunas ideas?

Por favor, dime si no es lo que quieres.

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() 

Este ejemplo hace invisibles las primeras y últimas X-ticks. Pero puede agregar fácilmente la comprobación de sus garrapatas especiales.

Solo agregando a la respuesta de @DmitryNazarov, en caso de que solo quiera ocultar las tags de tick, manteniendo las líneas de la cuadrícula visibles, use:

 ax = plt.gca() ax.axes.xaxis.set_ticklabels([]) ax.axes.yaxis.set_ticklabels([])