reduciendo el número de garrapatas de la ttwig

Tengo demasiadas garrapatas en mi gráfico y se están chocando unas con otras.

¿Cómo puedo reducir el número de garrapatas?

Por ejemplo, tengo garrapatas:

1E-6, 1E-5, 1E-4, ... 1E6, 1E7 

Y solo quiero:

 1E-5, 1E-3, ... 1E5, 1E7 

He intentado jugar con el LogLocator , pero no he podido resolver esto.

Alternativamente, si desea simplemente establecer el número de ticks mientras permite que matplotlib los posicione (actualmente solo con MaxNLocator ), hay pyplot.locator_params ,

 pyplot.locator_params(nbins=4) 

Puede especificar un eje específico en este método como se menciona a continuación, el valor predeterminado es a la vez:

 # To specify the number of ticks on both or any single axes pyplot.locator_params(axis='y', nbins=6) pyplot.locator_params(axis='x', nbins=10) 

Si alguien sigue recibiendo esta página en los resultados de búsqueda:

 fig, ax = plt.subplots() plt.plot(...) every_nth = 4 for n, label in enumerate(ax.xaxis.get_ticklabels()): if n % every_nth != 0: label.set_visible(False) 

Hay una función set_ticks() para objetos de eje.

en caso de que alguien todavía lo necesite, y como aquí nada me funcionó realmente, se me ocurrió una forma muy simple que mantiene la apariencia de la ttwig generada “tal como está” al mismo tiempo que fija el número de tics exactamente a N:

 import numpy as np import matplotlib.pyplot as plt f, ax = plt.subplots() ax.plot(range(100)) ymin, ymax = ax.get_ylim() ax.set_yticks(np.round(np.linspace(ymin, ymax, N), 2)) 

Cuando se usa una escala de registro, el número de marcas principales se puede arreglar con el siguiente comando

 import matplotlib.pyplot as plt .... plt.locator_params(numticks=12) plt.show() 

El valor establecido en numticks determina el número de numticks de eje que se mostrarán.

Créditos a la publicación de @ bgamari por introducir la función locator_params() , pero el parámetro nticks un error cuando se usa una escala de registro.