web-dev-qa-db-fra.com

Traçage à l'aide d'un fichier CSV

J'ai un fichier CSV qui a 5 entrées sur chaque ligne. Chaque entrée indique si un paquet réseau est déclenché ou non. La dernière entrée de chaque ligne est la taille du paquet. Chaque ligne = temps écoulé en ms.

par exemple. rangée

1 , 0 , 1 , 2 , 117

Comment tracer un graphique, par exemple où axe x est le numéro de la rangée et y est la valeur pour p. ex. 1ère entrée dans chaque rangée?

54
user494461

Cela devrait vous aider à démarrer:

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

Vous pouvez également tracer dans un fichier png en utilisant gnuplot (qui est gratuit):

commandes terminales

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>'

note: il faut toujours donner la bonne extension (.png ici) à set output

Ensuite, il est également possible que la sortie ne soit pas une ligne, car vos données ne sont pas continues. Pour résoudre ce problème, il suffit de changer la ligne "plot" en:

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

Plus d'options d'édition de ligne (tirets et ect de couleur de ligne) sur: http://gnuplot.sourceforge.net/demo_canvas/dashcolor.html

  • gnuplot est disponible dans la plupart des distributions Linux via le gestionnaire de paquets (par exemple, sur une distribution basée sur apt, lancez apt-get install gnuplot)
  • gnuplot est disponible dans Windows via Cygwin
  • gnuplot est disponible sur macOS via homebrew (run brew install gnuplot)
16
Oli4