Comment créer un tracé journal-journal en Python
Un tracé log-log est un tracé qui utilise des échelles logarithmiques à la fois sur l’axe des x et sur l’axe des y.
Ce type de tracé est utile pour visualiser deux variables lorsque la véritable relation entre elles suit un certain type de loi de puissance.
Ce didacticiel explique comment créer un tracé log-log en Python.
Comment créer un tracé journal-journal en Python
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd import matplotlib.pyplot as plt #create DataFrame df = pd.DataFrame({'x': [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], 'y': [3, 4, 5, 7, 9, 13, 15, 19, 23, 24, 29, 38, 40, 50, 56, 59, 70, 89, 104, 130]}) #create scatterplot plt.scatter(df.x, df.y)
Il est clair que la relation entre x et y suit une loi de puissance.
Le code suivant montre comment utiliser numpy.log() pour effectuer une transformation de journal sur les deux variables et créer un tracé log-log pour visualiser la relation entre elles :
import numpy as np #perform log transformation on both x and y xlog = np.log(df.x) ylog = np.log(df.y) #create log-log plot plt.scatter(xlog, ylog)
L’axe des x affiche le journal de x et l’axe des y affiche le journal de y.
Remarquez comment la relation entre log(x) et log(y) est beaucoup plus linéaire par rapport au tracé précédent.
N’hésitez pas à ajouter un titre et des étiquettes d’axe pour faciliter l’interprétation du tracé :
#create log-log plot with labels
plt.scatter(xlog, ylog, color='purple')
plt.xlabel('Log(x)')
plt.ylabel('Log(y)')
plt.title('Log-Log Plot')
Notez également que vous pouvez créer un tracé linéaire au lieu d’un nuage de points en utilisant simplement plt.plot() comme suit :
#create log-log line plot
plt.plot(xlog, ylog, color='purple')
plt.xlabel('Log(x)')
plt.ylabel('Log(y)')
plt.title('Log-Log Plot')
Ressources additionnelles
Comment créer un tracé journal-journal dans R
Comment créer un tracé journal-journal dans Excel