Ajustando la alineación de las etiquetas de las marcas en Matplotlib

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En la visualización de datos, las etiquetas de los intervalos de valores juegan un papel importante al transmitir información a los espectadores. A veces, es posible que necesitemos ajustar la alineación de las etiquetas de los intervalos de valores para que sean más legibles o para evitar solapamientos. En este laboratorio, aprenderemos a usar Matplotlib para ajustar la alineación de las etiquetas de los intervalos de valores.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/DataStructuresGroup -.-> python/sets("Sets") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48687{{"Ajustando la alineación de las etiquetas de las marcas en Matplotlib"}} matplotlib/figures_axes -.-> lab-48687{{"Ajustando la alineación de las etiquetas de las marcas en Matplotlib"}} python/lists -.-> lab-48687{{"Ajustando la alineación de las etiquetas de las marcas en Matplotlib"}} python/tuples -.-> lab-48687{{"Ajustando la alineación de las etiquetas de las marcas en Matplotlib"}} python/sets -.-> lab-48687{{"Ajustando la alineación de las etiquetas de las marcas en Matplotlib"}} python/function_definition -.-> lab-48687{{"Ajustando la alineación de las etiquetas de las marcas en Matplotlib"}} python/importing_modules -.-> lab-48687{{"Ajustando la alineación de las etiquetas de las marcas en Matplotlib"}} python/data_visualization -.-> lab-48687{{"Ajustando la alineación de las etiquetas de las marcas en Matplotlib"}} end

Importar Matplotlib y AxisArtist

Primero, necesitamos importar Matplotlib y AxisArtist, que proporciona herramientas adicionales para crear ejes personalizados.

import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

Definir una función para configurar los ejes

Para simplificar el código, podemos definir una función que tome un objeto de figura y una posición como entrada, y devuelva un objeto de eje con etiquetas de marcas personalizadas.

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axisartist.Axes)
    ax.set_yticks([0.2, 0.8], labels=["short", "loooong"])
    ax.set_xticks([0.2, 0.8], labels=[r"$\frac{1}{2}\pi$", r"$\pi$"])
    return ax

Crear una figura y agregar subgráficos

A continuación, podemos crear un objeto de figura y agregar tres subgráficos utilizando la función setup_axes.

fig = plt.figure(figsize=(3, 5))
fig.subplots_adjust(left=0.5, hspace=0.7)

ax = setup_axes(fig, 311)
ax.set_ylabel("ha=right")
ax.set_xlabel("va=baseline")

ax = setup_axes(fig, 312)
ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")
ax.set_ylabel("ha=center")
ax.set_xlabel("va=top")

ax = setup_axes(fig, 313)
ax.axis["left"].major_ticklabels.set_ha("left")
ax.axis["bottom"].major_ticklabels.set_va("bottom")
ax.set_ylabel("ha=left")
ax.set_xlabel("va=bottom")

Ajustar la alineación de las etiquetas de las marcas

Finalmente, podemos usar los métodos set_ha y set_va para ajustar la alineación horizontal y vertical de las etiquetas de las marcas.

ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")

Mostrar la gráfica

Para mostrar la gráfica, podemos usar el método show.

plt.show()

Resumen

En este laboratorio, aprendimos cómo usar Matplotlib y AxisArtist para ajustar la alineación de las etiquetas de las marcas. Al personalizar la alineación horizontal y vertical de las etiquetas de las marcas, podemos mejorar la legibilidad y claridad de nuestras visualizaciones de datos.