xticks xticklabel ticks tick pyplot change bar python matplotlib

python - xticklabel - plt plot xticks



matplotlib tick axis notación con superíndice (2)

Puede definir las marcas como cadenas y asignarlas:

mport numpy as np import matplotlib.pyplot as plt band = np.linspace(0,10**12,100) y = band plt.plot(band,y) plt.xlabel("Frequencies") plt.vlines(10**3, min(y), max(y),colors = ''black'', label = ''kilo Hz'') plt.vlines(10**6, min(y), max(y),colors = ''black'', label = ''mega Hz'') string_labels = [] for i in range(0,len(y),10): string_labels.append(r"$10^{%02d}$" % (i/10.0)) plt.xticks(np.linspace(0,10**12,10),string_labels) plt.legend() plt.show()

Me gustaría producir alguna trama sobre las frecuencias. Quiero tener un eje x con notación de superíndice como aquí . Además, necesito líneas verticales con anotación vertical, kilo y mega Hz.

import numpy as np import matplotlib.pyplot as plt band = np.linspace(0,10**12,100) y = band plt.plot(band,y) plt.xlabel(''Frequencies'') plt.vlines(10**3, min(y), max(y),colors = ''black'', label = ''kilo Hz'') plt.vlines(10**6, min(y), max(y),colors = ''black'', label = ''mega Hz'') plt.legend() plt.show()

Intenté usar el ticker pero no puedo entender cómo configurarlo. Intenté seguir algunos ejemplos, pero obtuve un error como AttributeError: ''Figure'' object has no attribute ''ticklabel_format'' Ya paso bastante tiempo con él y no sé cómo seguir adelante.

En general, necesito el eje x formateado de la misma manera, que si plt.xscale(''log'') pero quiero mantener la escala lineal.