"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo forzar los valores de desplazamiento del eje a números enteros o números específicos en Matplotlib?

¿Cómo forzar los valores de desplazamiento del eje a números enteros o números específicos en Matplotlib?

Publicado el 2024-11-02
Navegar:514

How to Force Axis Offset Values to Whole Numbers or Specific Numbers in Matplotlib?

Forzar valores de compensación del eje a números enteros o números específicos en Matplotlib

Matplotlib le permite trazar datos con ejes que muestran compensaciones. Sin embargo, a veces es conveniente que estas compensaciones se muestren como números enteros o en un número específico.

Problema de visualización de compensación

Un problema común es que la compensación en el -axis, por ejemplo, podría mostrarse como "4.4 1e-8" cuando el valor real es "44 1e-9". De manera similar, en el eje x, se podría mostrar un desplazamiento como "5.54478e4" en lugar del desplazamiento deseado de "55447".

Solución

Para forzar el Para que el desplazamiento se muestre como un número entero o un número específico, use la clase ScalarFormatter del módulo matplotlib.ticker. Aquí está el código actualizado:

from matplotlib.ticker import ScalarFormatter

# y-axis
y_formatter = ScalarFormatter(useOffset=False)
ax.yaxis.set_major_formatter(y_formatter)

# x-axis
x_formatter = ScalarFormatter(useOffset=False)
ax.xaxis.set_major_formatter(x_formatter)

Al configurar useOffset=False, el formateador desactiva el uso de un desplazamiento en la etiqueta del eje. Esto obliga al eje a mostrar el valor exacto de la marca de verificación.

Notas adicionales

  • La clase ScalarFormatter se puede personalizar aún más para controlar el formato del etiquetas de marca, como establecer el número de decimales.
  • El desplazamiento no es un objeto separado sino parte de la etiqueta de marca. Cuando useOffset=True, el desplazamiento se agrega a la etiqueta de marca. Cuando useOffset=False, el desplazamiento no se incluye en la etiqueta de marca.
Declaración de liberación Este artículo se reimprime en: 1729138877 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3