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

Axe double de Matplotlib

Il est parfois utile d'avoir deux axes x ou y dans un graphique. De plus, lors du dessin de courbes avec des unités différentes. Matplotlib prend en charge cette fonctionnalité via les fonctions twinx() et twiny().

Dans l'exemple suivant, le graphique a deux axes y, l'un affichant exp(x), l'autre affichant log(x) -

# Nom de 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
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Étape 1 (remplacement de sans-police serif)
 plt.rcParams['axes.unicode_minus'] = False  # Texte original de 【立地货】,Reproduction commerciale, veuillez contacter l'auteur pour obtenir l'autorisation, Usage non commercial, veuillez conserver le lien original :
 fig = plt.figure()
 a1 = fig.add_axes([0,0,1,1])
 x = np.arange(1,11)
 a1.plot(x, np.exp(x))
 a1.set_ylabel('exp')
 a2 = a1.twinx()
 a2.plot(x, np.log(x),'ro-)
 a2.set_ylabel('log')
 fig.legend(labels = ('exp','log'),loc='upper left')
 plt.show()

Exécuter le code d'exemple ci-dessus, obtenir le résultat suivant -