negro matrices graficos graficar color python matplotlib

graficos - graficar matrices en python



Cómo: reducir el número de ticks con matplotlib (5)

Tengo demasiados tics en mi gráfica y se topan entre sí. ¿Cómo puedo reducir el número de tics? Por ejemplo, tengo tics:

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 sido capaz de resolver esto. Sugerencias?

¡Gracias!


Alternativamente, si simplemente desea establecer el número de ticks mientras permite que matplotlib los coloque (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 ambos:

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


Cuando se usa una escala de registro, el número de tics 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 tics de eje que se mostrarán.

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



Si alguien sigue obteniendo 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)


en caso de que alguien todavía lo necesite, y como nada aquí realmente funcionó para mí, se me ocurrió una manera muy simple que mantiene la apariencia de la trama generada "tal como está" mientras se fija el número de ticks exactamente 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))