GNUPlot CSV-Datei Plotten

Gast #1437658
Lesenswert?

Hallom
ich bin einfach zu doff ;-)

Die Datei heißt tek001.csv und sieht folgendermaßen aus:
Weiß jemand wie ich die datei in GNUPlot laden kann und das ganze dann 
Plotten? Wie sage ich GNUPlot dass er die ersten x zeilen nicht Plotten 
soll?

Danke
1
Model,MSO4104
2
Firmware Version,2.30
3

4
Point Format,Y
5
Horizontal Units,S
6
Horizontal Scale,2e-07
7
Sample Interval,2e-10
8
Record Length,10000
9
Gating,0.0% to 100.0%
10
Probe Attenuation,1
11
Vertical Units,V
12
Vertical Offset,0
13
Vertical Scale,0.5
14
Label,
15
TIME,CH1
16
-1.000e-06,2.1
17
-9.998e-07,2.1
18
-9.996e-07,2.1
19
-9.994e-07,2.08
20
-9.992e-07,2.08
21
-9.990e-07,2.04
22
[...]
Gast #1437809
Lesenswert?

Ich weiß, Zeitverschwendung, aber falls du dieselbe Person bist:

"n bisschen arg" peinlich ist, ..
.. dass du im falschen Forum ohne Rücksicht auf Form postest.
.. dass du noch nicht selbst versucht hast, deine Daten zu plotten.
.. das Manual "kilometerlang" nennst.
.. keine konkrete Frage in der Form "ich versuche ETWAS, aber PROBLEM" 
zu stellen.
Gast #1438016
Lesenswert?

Tina schrieb:
> Danke, das kilometerlanges Handbuch hab ich schon ohne deine Hilfe
> gefunden.

Das ist ja schon ein erster Erfolg! Wieviele Meter davon hast du denn
schon gelesen? Oder sind es vielleicht eher Zentimeter? ;-)

Das Handbuch ist überigens deutlich weniger als einen Kilometer lang,
auf A4-Papier ausgedruckt sind es nicht einmal 61 Meter. Am Anfang gibt
es sogar ein Inhaltsverzeichnis, das die Suche auf wenige Meter
einschränkt.

> Bist du dir sicher dass meine Lösung da drinne steht?

Wenn sie nicht darin steht, kannst du davon ausgehen, dass es sie nicht
gibt. Das ist doch auch ein Ergebnis, oder? Denn dann weißt du sicher,
dass du das Thema abschließen kannst und bist nicht auf vage Aussagen
anderer angewiesen.

Gnuplot ist aber ein sehr mächtiges Tool, so dass es mich sehr wundern
würde, wenn so etwas einfaches damit nicht ginge ;-)
Gast #1438106
Lesenswert?

Nee, das mit dem . ist schon i.O. Das Komma trennt ja die Spalten.
Mein Hinweis bezog sich auf das oben gepostete PDF.

Den Header sonst mit sed oder awk oder grep oder .. rausfiltern und die 
Daten in eine temporäre Datei schreiben, die dann geplottet wird.
#2448790
Lesenswert?

Guten Tag,
ich habe bereits in einem anderen Forum einen Beitrag erstellt: 
Beitrag "Re: Visualisierung von geloggten Daten"

Also wie dort schon steht ist sie so aufgebaut:
Zeit_in_(s);Device_1_in_(A);Device_2_in_(A);Device_3_in_(A)
0,000335;-32;30;28;

...

202,153242;18;-43;-45;

Nun möchte ich 15 Zeilen der Datei (neue erstellt) so anzeigen:
X-Achse: 1 Kurve -> Zeit -> Spalte 0
Y-Achse: 3 Kurven -> 3 Geräte -> Spalte 1,2 und 3

set datafile separator ";"

Als erweiterung: Da die Datei 40 MB groß ist könnte man in einem Dialog 
den Zeitbereit angeben ab welcher Zeile er Plottet und bis zu welcher.

Danke
#2449106
Lesenswert?

Ich hab die Lösung:

1. Komma durch Punkte ersetzen: sed -e "s/,/./g" data.csv > data_new.csv
2. Erste Zeile verändern: # anfügen
3. csv_graph.plt erstellen
1
cd 'D:\meinverzeichnis'
2
set datafile separator ";"
3
set datafile commentschars "#!%"
4
plot "data_new.csv" using 1:2 every ::0::1000 smooth bezier,\
5
"data_new.csv" using 1:3 every ::0::1000 smooth bezier,\
6
"data_new.csv" using 1:4 every ::0::1000 smooth bezier

Siehe unter anderem hier:
http://t16web.lanl.gov/Kawano/gnuplot/datafile2-e.html

Jetzt noch ein Dialog in dem ich von bis angeben kann.
Eventuell vorher Zeilenanzahl auslesen lassen.
#2449186
Lesenswert?

So nun etwas angepasst:
1
path = 'D:\meinpfad\data_new.csv'
2

3
y1t = "Device_1"
4
y2t = "Device_2"
5
y3t = "Device_3"
6

7
set ylabel "Strom in [A]"
8
set xlabel "Zeit in [S]"
9

10
firstline=0
11
lastline=1734700
12
lineincrement=100000
13

14
set title path
15

16
set datafile separator ";"
17
set datafile commentschars "#!%"
18

19
set grid
20

21
plot file using 1:2 every lineincrement::firstline::lastline smooth bezier ti y1t,\
22
file using 1:3 every lineincrement::firstline::lastline smooth bezier ti y2t,\
23
file using 1:4 every lineincrement::firstline::lastline smooth bezier ti y3t
Aber for Schleife gibt es wohl nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren