2015-10-24 4 views
2

J'ai du mal à apprendre à tracer une fonction en python. Par exemple, je veux créer un graphique avec ces deux fonctions:Création d'un graphique à partir d'une fonction mathématique

y=10x 
y=5x+20 

La seule manière que je trouvais était d'utiliser le code suivant

import matplotlib.pyplot as plt 
plt.plot([points go here], [points go here]) 
plt.plot([points go here], [points go here]) 
plt.ylabel('some numbers') 
plt.show() 

et d'entrer manuellement les points de données, mais j'ai un peu plus difficile problèmes à venir alors ce serait vraiment difficile.

Y a-t-il un moyen de simplement mettre dans quelle fonction j'ai besoin d'un tracé et est-ce que python crée le graphique pour moi?

Répondre

1

c'est rude, mais il fonctionnera:

import matplotlib.pyplot as plt 
import random 

x = [1, 2, 4,6, 7, 100, 200, 100, 34] 
tenxArray = [] 
fiveXPlusTwenty = [] 

for i in range(0, len(x)): 
    tenxArray.append(10*x[i]) 
    fiveXPlusTwenty.append(5*x[i] + 20) 

plt.plot(x, tenxArray) 
plt.plot(x, fiveXPlusTwenty) 

plt.show() 
1

Vous pouvez utiliser le générateur range pour générer des valeurs de x et compréhensions de liste pour calculer les valeurs y pour vos fonctions:

import matplotlib.pyplot as plt 

def fun1(x): 
    return 10*x 

def fun2(x): 
    return 5*x+20 

MAX_X = # A maximum value for x goes here 
x = range(MAX_X) 

y1,y2 = zip(*[ (fun1(val), fun2(val)) for val in x ]) 

plt.plot(x, y1) 
plt.plot(x, y2) 
plt.ylabel('some numbers') 
plt.show() 
+0

Merci les gars ce est exactement ce que je cherchais! – drdrew