2017-10-11 4 views
-1
import matplotlib.pyplot as plt 

x = [1,2,3,4,5,6] 
y = [1,3,6,8,14,20] 

plt.plot(x,y) 

plt.show() 

Ausgang: enter image description hereWie extrahiert man die Punkte aus einem Graphen?

Die obige Handlung unterschiedliche Steigungen hat, mag ich aus der Kurve 100 Anzahl der Punkte zu bekommen, kann jemand mir helfen, die Punkte zu finden?

Antwort

2

Um 100 Punkte auf Ihrer Kurve zu finden, müssen Sie die Daten interpolieren. Eine Möglichkeit, dies zu tun, ist die Verwendung scipy.interpolate.interp1d, die Dokumentation kann here gefunden werden.

import matplotlib.pyplot as plt 
import numpy as np 
from scipy import interpolate 

x =[1,2,3,4,5,6] 
y = [1,3,6,8,14,20] 

f = interpolate.interp1d(x,y) 
xnew = np.linspace(x[0],x[-1],100) 

plt.plot(x,y,'o') 
plt.plot(xnew, f(xnew)) 

plt.show() 

Um zu überprüfen, dass Sie 100 Punkte:

print (xnew.shape) 
print (f(xnew).shape) 
#(100,) 
#(100,) 

enter image description here

+0

Vielen Dank für Ihre Antwort! –

Verwandte Themen