www.mikrocontroller.net

Forum: PC Hard- und Software GNUPlot CSV-Datei Plotten


Autor: Tina Zimmerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
Model,MSO4104
Firmware Version,2.30

Point Format,Y
Horizontal Units,S
Horizontal Scale,2e-07
Sample Interval,2e-10
Record Length,10000
Gating,0.0% to 100.0%
Probe Attenuation,1
Vertical Units,V
Vertical Offset,0
Vertical Scale,0.5
Label,
TIME,CH1
-1.000e-06,2.1
-9.998e-07,2.1
-9.996e-07,2.1
-9.994e-07,2.08
-9.992e-07,2.08
-9.990e-07,2.04
[...]

: Verschoben durch Moderator
Autor: Fauler Sack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hallom, ich bin einfach zu doff, kann mir jemand sagen, wie ich mir den Hintern 
abwische?
Kein Problem: http://www.gnuplot.info/documentation.html

Autor: Tina Zimmerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, das kilometerlanges Handbuch hab ich schon ohne deine Hilfe 
gefunden.

Bist du dir sicher dass meine Lösung da drinne steht? Sonst wärs für 
dich schon n bisschen arg peinlich...

Autor: St. S. (clean-energy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://homepages.physik.uni-muenchen.de/~V.Shtabov...

Ist denk ich besser für den Einstieg

Autor: Nachtwächter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://de.wikipedia.org/wiki/CSV_%28Dateiformat%29
"Die Dateiendung CSV ist eine Abkürzung für Comma-Separated Values 
(selten Character Separated Values). Ein allgemeiner Standard für das 
Dateiformat CSV existiert nicht. Jedoch wird es im RFC 4180 grundlegend 
beschrieben."
http://tools.ietf.org/html/rfc4180

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde die Kopfzeilen einfach mit dem Hexeditor weglöschen, z.B. mit 
HxD:
http://mh-nexus.de/de/hxd/
"HxD - Freeware Hex-Editor und Disk-Editor"

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die "every" Option dürfte das sein was du suchst:

http://t16web.lanl.gov/Kawano/gnuplot/datafile2-e.html#7.6

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tina,

wie wär's mit:

set datafile commentschars "MFPHSRGPVLT"
set datafile separator ","
plot "tek001.csv" wi li


hat mich ca. 5 Minuten Handbuch-Studium gekostet ;-)

Gerhard

Autor: Nachtwächter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke an Thomas für den EVERY Link....

für den Rest: ...Wenn man keine Ahnung hat....

Autor: Ollz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Tina" wurde gerade zu "Bernd".

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
andersrum wäre glaube ich medizinisch leichter, also: ein Wunder!

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> also: ein Wunder!

Nicht unbedingt, denn Bernd ist bekanntlicherweise ein Brot ;-)

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frauenzeitschrift zu Brot? EIN WUNDER!

Autor: Drehstrom-Flachbatterie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Kunst liegt schon beim Erstellen der Datei.csv
Ob man MIT oder OHNE Überschriften auswählt!

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Frauenzeitschrift zu Brot? EIN WUNDER!

Schmeckt halt dann wie Pappmaché :)

Autor: Christian H. (blueicehaller)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian H. (blueicehaller)
Datum:

Bewertung
0 lesenswert
nicht 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
cd 'D:\meinverzeichnis'
set datafile separator ";"
set datafile commentschars "#!%"
plot "data_new.csv" using 1:2 every ::0::1000 smooth bezier,\
"data_new.csv" using 1:3 every ::0::1000 smooth bezier,\
"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.

Autor: Christian H. (blueicehaller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So nun etwas angepasst:
path = 'D:\meinpfad\data_new.csv'

y1t = "Device_1"
y2t = "Device_2"
y3t = "Device_3"

set ylabel "Strom in [A]"
set xlabel "Zeit in [S]"

firstline=0
lastline=1734700
lineincrement=100000

set title path

set datafile separator ";"
set datafile commentschars "#!%"

set grid

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.