Simple Axis Pad

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire vous apprendra à utiliser la fonction add_floating_axis dans Matplotlib pour ajouter des axes flottants à un graphique, qui peuvent être utilisés pour afficher des informations supplémentaires sur le graphique. Plus précisément, vous allez apprendre à ajuster le rembourrage des étiquettes d'échelle et des étiquettes d'axe, ainsi qu'à ajuster la position des échelles sur les axes flottants.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez sur le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous résoudrons rapidement le problème pour vous.

Importation des bibliothèques

Tout d'abord, importez les bibliothèques nécessaires, y compris matplotlib.pyplot, numpy et mpl_toolkits.axisartist.

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

Définir la fonction de configuration des axes

Ensuite, définissez la fonction setup_axes(), qui configure la projection polaire du graphique. Cette fonction utilise un GridHelperCurveLinear pour créer une projection polaire dans un cadre rectangulaire. Elle définit également les limites du graphique et renvoie l'objet ax1.

def setup_axes(fig, rect):
    ## Définir la transformation PolarAxes et le chercheur d'extrémités
    tr = Affine2D().scale(np.pi/180., 1.) + PolarAxes.PolarTransform()
    extreme_finder = angle_helper.ExtremeFinderCycle(20, 20, lon_cycle=360, lat_cycle=None, lon_minmax=None, lat_minmax=(0, np.inf))

    ## Définir les localisateurs et les formatteurs de grille
    grid_locator1 = angle_helper.LocatorDMS(12)
    grid_locator2 = grid_finder.MaxNLocator(5)
    tick_formatter1 = angle_helper.FormatterDMS()

    ## Définir le GridHelperCurveLinear
    grid_helper = GridHelperCurveLinear(tr, extreme_finder=extreme_finder, grid_locator1=grid_locator1, grid_locator2=grid_locator2, tick_formatter1=tick_formatter1)

    ## Créer l'objet d'axe et définir ses limites
    ax1 = fig.add_subplot(rect, axes_class=axisartist.Axes, grid_helper=grid_helper)
    ax1.axis[:].set_visible(False)
    ax1.set_aspect(1.)
    ax1.set_xlim(-5, 12)
    ax1.set_ylim(-5, 10)

    return ax1

Définir la fonction d'ajout d'un axe flottant

Définissez la fonction add_floating_axis, qui ajoute un axe flottant au graphique. Cette fonction prend en argument l'objet ax1 et renvoie l'objet axis.

def add_floating_axis(ax1):
    ## Définir l'axe flottant
    ax1.axis["lat"] = axis = ax1.new_floating_axis(0, 30)
    axis.label.set_text(r"$\theta = 30^{\circ}$")
    axis.label.set_visible(True)

    return axis

Ajouter un rembourrage aux étiquettes d'échelle

Dans cette étape, ajoutez un rembourrage aux étiquettes d'échelle de l'axe flottant. Cela peut être fait en définissant l'attribut pad de l'objet major_ticklabels sur la valeur de rembourrage souhaitée.

## Ajouter un rembourrage aux étiquettes d'échelle
fig = plt.figure(figsize=(9, 3.))
fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, wspace=0.01, hspace=0.01)

ax1 = setup_axes(fig, rect=121)
axis = add_floating_axis(ax1)

ax1 = setup_axes(fig, rect=122)
axis = add_floating_axis(ax1)
axis.major_ticklabels.set_pad(10)

plt.show()

Ajuster le rembourrage de l'étiquette d'axe

Dans cette étape, ajustez le rembourrage de l'étiquette d'axe de l'axe flottant. Cela peut être fait en définissant l'attribut pad de l'objet label sur la valeur de rembourrage souhaitée.

## Ajuster le rembourrage de l'étiquette d'axe
fig = plt.figure(figsize=(9, 3.))
fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, wspace=0.01, hspace=0.01)

ax1 = setup_axes(fig, rect=121)
axis = add_floating_axis(ax1)

ax1 = setup_axes(fig, rect=122)
axis = add_floating_axis(ax1)
axis.label.set_pad(20)

plt.show()

Ajuster la position des échelles

Dans cette étape, ajustez la position des échelles sur l'axe flottant. Cela peut être fait en définissant l'attribut tick_out de l'objet major_ticks sur True.

## Ajuster la position des échelles
fig = plt.figure(figsize=(9, 3.))
fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, wspace=0.01, hspace=0.01)

ax1 = setup_axes(fig, rect=121)
axis = add_floating_axis(ax1)

ax1 = setup_axes(fig, rect=122)
axis = add_floating_axis(ax1)
axis.major_ticks.set_tick_out(True)

plt.show()

Sommaire

Dans ce laboratoire, vous avez appris à utiliser la fonction add_floating_axis dans Matplotlib pour ajouter des axes flottants à un graphique. Vous avez également appris à ajuster le rembourrage des étiquettes d'échelle et des étiquettes d'axe, ainsi qu'à ajuster la position des échelles sur les axes flottants. À la fin de ce laboratoire, vous devriez être capable de créer des graphiques personnalisés avec des axes flottants qui affichent des informations supplémentaires sur le graphique.

OSZAR »