2010-02-11 31 views

Répondre

19

Si vous avez matplotlib, vous devez également avoir numpy installé puisqu'il s'agit d'une dépendance. Par conséquent, vous pouvez utiliser numpy.polyfit pour trouver la pente:

import matplotlib.pyplot as plt 
import numpy as np 

length = np.random.random(10) 
length.sort() 
time = np.random.random(10) 
time.sort() 
slope, intercept = np.polyfit(np.log(length), np.log(time), 1) 
print(slope) 
plt.loglog(length, time, '--') 
plt.show() 
+0

Cela serait vrai si le graphique est une ligne. Dans le cas où il s'agit d'une courbe et que la pente change à différents points, une diffrentielle est nécessaire. Essayez la fonction diff. – whatnick

+0

Pouvez-vous s'il vous plaît fournir plus de détails sur la fonction. – Bruce

+3

@Peter: 'polyfit' (dans son incarnation la plus simple) prend 3 args: les données' x', 'y'-data, et le degré de polynôme. Puisque vous cherchez un ajustement linéaire, le 3ème arg est mis à 1. 'polyfit' renvoie alors les coefficients du polynôme le mieux ajusté, qui dans ce cas signifie la pente et l'ordonnée à l'origine. HTH. – unutbu

Questions connexes