English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ax formatting Matplotlib

Tutoriel détaillé sur la formatting des axes dans Matplotlib

Parfois, un ou plusieurs points sont beaucoup plus grands que la masse de données. Dans ce cas, la proportion de l'axe doit être réglée sur logarithmique (log) plutôt que sur une proportion normale. C'est une échelle logarithmique. Dans Matplotlib, vous pouvez définir les propriétés xscale ou vscale de l'objet axes sur log.

Parfois, il est nécessaire d'afficher une distance supplémentaire entre le numéro de l'axe et l'étiquette de l'axe. L'attribut labelpad de n'importe quel axe (x, y ou les deux) peut être réglé sur la valeur souhaitée.

Sous l'aide de cet exemple, les deux fonctions mentionnées précédemment sont démontrées. Le sous-graphe de droite a une échelle logarithmique, et le sous-graphe de gauche a des étiquettes d'axe x plus éloignées.

Code d'exemple :

# Fichier : example.py
# Copyright : 2020 By w3codebox
# Auteur par : fr.oldtoolbag.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 # Affichage des réglages chinois...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Étape 1 (remplacement de sans-police serif)
 plt.rcParams['axes.unicode_minus'] = False # Étape deux (résoudre le problème de l'affichage des signes négatifs des axes des coordonnées)
 fig, axes = plt.subplots(1, 2, figsize=(10,4))
 x = np.arange(1,5)
 axes[0].plot(x, np.exp(x))
 axes[0].plot(x, x**2)
 axes[0].set_title("Proportion normale")
 axes[1].plot(x, np.exp(x))
 axes[1].plot(x, x**2)
 axes[1].set_yscale("log")
 axes[1].set_title("Echelle logarithmique (y)")
 axes[0].set_xlabel("axe x")
 axes[0].set_ylabel("axe y")
 axes[0].xaxis.labelpad = 10
 axes[1].set_xlabel("axe x")
 axes[1].set_ylabel("axe y")
 plt.show()

Exécutez le code d'exemple suivant, obtenez le résultat suivant -

La pointe de l'axe est une ligne qui relie les lignes d'échelle de l'axe, divisant la limite de la zone de dessin. La pointe de l'objet de l'axe est située en haut, en bas, à gauche et à droite. Chaque pointe peut être formatée en spécifiant la couleur et la largeur. Si la couleur de l'une quelconque des bords est définie comme sans, elle peut être rendue invisible.

Code d'exemple :

# Fichier : example.py
# Copyright : 2020 By w3codebox
# Auteur par : fr.oldtoolbag.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 # Affichage des réglages chinois...
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Étape 1 (remplacement de sans-police serif)
 plt.rcParams['axes.unicode_minus'] = False # Étape deux (résoudre le problème de l'affichage des signes négatifs des axes des coordonnées)
 fig = plt.figure()
 ax=plt.subplot(111)
 ax.spines['bottom'].set_color('blue')
 ax.spines['left'].set_color('red')
 ax.spines['left'].set_linewidth(2)
 ax.spines['right'].set_color(None)
 ax.spines['top'].set_color(None)
 ax.plot([1,2,3,4,5)]
 plt.show()#