Plotten met een CSV-bestand

Ik heb een csv-bestand met 5 vermeldingen in elke rij. Elke invoer is of een netwerkpakket wordt geactiveerd of niet. De laatste invoer in elke rij is de grootte van het pakket. Elke rij = verstreken tijd in ms.

bijv. rij

1 , 0 , 1 , 2 , 117

Hoe teken ik een grafiek voor b.v. waarbij x-as het rijnummer is en y de waarde voor b.v. 1e invoer in elke rij?


Antwoord 1, autoriteit 100%

Dit zou u op weg moeten helpen:

set datafile separator ","
plot 'infile' using 0:1

Antwoord 2, autoriteit 19%

Je kunt ook plotten naar een png-bestand met gnuplot (wat gratis is):

terminal-opdrachten

gnuplot> set title '<title>'
gnuplot> set ylabel '<yLabel>'
gnuplot> set xlabel '<xLabel>'
gnuplot> set grid
gnuplot> set term png
gnuplot> set output '<Output file name>.png'
gnuplot> plot '<fromfile.csv>'

let op: je moet altijd de juiste extensie opgeven (.png hier) bij set output

Dan is het ook mogelijk dat de uitvoer geen lijnen is, omdat je gegevens niet doorlopen. Om dit op te lossen, verandert u simpelweg de ‘plot’-regel in:

plot '<Fromfile.csv>' with line lt -1 lw 2

Meer opties voor het bewerken van lijnen (streepjes en lijnkleur enz.) op:
http://gnuplot.sourceforge.net/demo_canvas/dashcolor.html

  • gnuplot is beschikbaar in de meeste Linux-distributies via de pakketbeheerder (bijvoorbeeld op een op apt gebaseerde distro, voer apt-get install gnuplotuit)
  • gnuplot is beschikbaar in Windows via Cygwin
  • gnuplot is beschikbaar op macOS via homebrew(voer brew install gnuplotuit)

Other episodes