Puedo quitar las garrapatas con
ax.set_xticks([]) ax.set_yticks([])
pero esto también quita las tags. De cualquier manera puedo trazar las tags de garrapatas pero no las garrapatas y la columna vertebral
Puede establecer la longitud de la marca en 0 utilizando tick_params
( http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.tick_params ):
fig = plt.figure() ax = fig.add_subplot(111) ax.plot([1],[1]) ax.tick_params(axis=u'both', which=u'both',length=0) plt.show()
Gracias por sus respuestas @ julien-spronck y @cmidi.
Como nota, tuve que usar ambos métodos para hacerlo funcionar:
import numpy as np import matplotlib.pyplot as plt fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(11, 3)) data = np.random.random((4, 4)) ax1.imshow(data) ax1.set(title='Bad', ylabel='$A_y$') # plt.setp(ax1.get_xticklabels(), visible=False) # plt.setp(ax1.get_yticklabels(), visible=False) ax1.tick_params(axis='both', which='both', length=0) ax2.imshow(data) ax2.set(title='Somewhat OK', ylabel='$B_y$') plt.setp(ax2.get_xticklabels(), visible=False) plt.setp(ax2.get_yticklabels(), visible=False) # ax2.tick_params(axis='both', which='both', length=0) ax3.imshow(data) ax3.set(title='Nice', ylabel='$C_y$') plt.setp(ax3.get_xticklabels(), visible=False) plt.setp(ax3.get_yticklabels(), visible=False) ax3.tick_params(axis='both', which='both', length=0) plt.show()
Mientras asistía a un curso de coursera en Python, esta era una pregunta.
A continuación se muestra la solución dada, que creo que es más legible e intuitiva.
ax.tick_params(top='off', bottom='off', left='off', right='off', labelleft='on', labelbottom='on')
matplotlib.pyplot.setp(*args, **kwargs)
se usa para establecer las propiedades de un objeto artista. Puedes usar esto además de get_xticklabes()
para hacerlo invisible.
algo en las líneas de lo siguiente
import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(2,1,1) ax.set_xlabel("X-Label",fontsize=10,color='red') plt.setp(ax.get_xticklabels(),visible=False)
A continuación se encuentra la página de referencia http://matplotlib.org/api/pyplot_api.html
Puede configurar las yaxis
y xaxis
set_ticks_position
para que solo se muestren en los lados izquierdo e inferior, respectivamente.
ax.yaxis.set_ticks_position('left') ax.xaxis.set_ticks_position('bottom')
Además, también puede ocultar las espinas al establecer la propiedad set_visible
de la espina específica en False
.
axes[i].spines['right'].set_visible(False) axes[i].spines['top'].set_visible(False)
Suponiendo que desea eliminar algunas yticks
en los ejes Y
y solo mostrar las yticks
que corresponden a las yticks
que tienen valores superiores a 0, puede hacer lo siguiente:
from import matplotlib.pyplot as plt fig, ax = plt.subplots() # yticks and yticks labels yTicks = list(range(26)) yTicks = [yTick if yTick % 5 == 0 else 0 for yTick in yTicks] yTickLabels = [str(yTick) if yTick % 5 == 0 else '' for yTick in yTicks]
A continuación, configura los ejes Y
su objeto de eje de la siguiente manera:
ax.yaxis.grid(True) ax.set_yticks(yTicks) ax.set_yticklabels(yTickLabels, fontsize=6) fig.savefig('temp.png') plt.close()
Y obtendrás una ttwig como esta: