xlabel - Cómo evitar que los números cambien a forma exponencial en la figura de matplotlib de Python
plt.legend python (3)
El formato de las etiquetas de tilde está controlado por un objeto de Formatter
, que suponiendo que no haya hecho nada sofisticado será un ScalerFormatter
por defecto . Este formateador usará un desplazamiento constante si el cambio fraccional de los valores visibles es muy pequeño. Para evitar esto, simplemente apágalo:
plt.plot(arange(0,100,10) + 1000, arange(0,100,10))
ax = plt.gca()
ax.get_xaxis().get_major_formatter().set_useOffset(False)
plt.draw()
Si quieres evitar la notación científica en general,
ax.get_xaxis().get_major_formatter().set_scientific(False)
Puede controlar esto globalmente a través de axes.formatter.useoffset
rcparam.
Estoy usando Matplotlib en Python para trazar conjuntos de datos xy simples. Esto produce gráficos agradables, aunque cuando "acerco" demasiado cerca de varias secciones del gráfico trazado usando la Vista de plt.show()
que aparece cuando ejecuta plt.show()
), los valores del eje x cambian de la forma numérica estándar (1050, 1060, 1070, etc.) a una forma científica con notación exponencial (por ejemplo, 1, 1.5, 2.0 con la etiqueta del eje x dada como +1.057e3
).
Prefiero que mis figuras retengan la numeración simple del eje, en lugar de utilizar la forma exponencial. ¿Hay alguna manera de forzar a Matplotlib a hacer esto?
Puede usar un comando más simple para desactivarlo:
plt.ticklabel_format(useOffset=False)
Puedes usar algo como:
from matplotlib.ticker import ScalarFormatter, FormatStrFormatter
ax.xaxis.set_major_formatter(FormatStrFormatter(''%.0f''))