2016-04-26 14 views
2

ich die folgenden Daten in Result.csv-Datei haben, und ich muss in ein Liniendiagramm zeichnen.Plotten CSV-Datei Daten matplotlib mit der Leitung Graph

ColA ColB 
93  46 
94  56 
95  66 
97  76 
100  86 
103  96 
110  106 

Was ich habe, ist

from numpy import genfromtxt 
import matplotlib.pyplot as plt 
per_data=genfromtxt('result.csv',delimiter=',' 
plt.xlabel ('x stuff') 
plt.ylabel ('y stuff') 
plt.title('my test result') 
plt.show() 

Wie jede Spalte von Daten in das Diagramm ziehen sie und ihre Entwicklung beobachten? Die Größe, wenn jede Spalte aufgrund neuer Daten täglich wächst.

Antwort

4

Zuerst müssen Sie Ihre Daten mit einem Komma trennen, ist es eine tatsächliche csv zu machen. Dann fügen Sie am Ende dieser Zeile schließenden Klammer, die fehlenden:

per_data=genfromtxt('result.csv',delimiter=',') 

und die Daten plotten mit

plt.plot(per_data) 

Dies führt zu diesem Grundstück: enter image description here

Wenn Sie mehr Daten hinzufügen und Führen Sie den Code erneut aus, es sollte automatisch ohne Änderung des Codes angezeigt werden.

+0

Follow-up-Frage, ich brauche eine Spalte hinzuzufügen, die aktuellen Daten zu zeigen, wird gesammelt, so will ich alles außer der ersten Spalte grafisch darzustellen. Kann ich das CSV-Dateiobjekt durchlaufen und die erste Spalte überspringen? –

1
data = np.genfromtxt('path_to_data', delimiter=',', names=['x', 'y']) 
plt.plot(data['x'], data['y']) 
plt.show() 

Das ist es.

0
from matplotlib import pyplot as plt 
from matplotlib import style 

from numpy import genfromtxt 

data = genfromtxt('example2.csv',delimiter=' ') 

plt.plot(data) 

plt.title('Epic Info') 
plt.ylabel('Y axis') 
plt.xlabel('X axis') 

plt.show() 

Der obige Code dies erzeugt :: enter image description here