2017-08-21 2 views
0

J'ai un fichier csv comme montré ci-dessous et je veux tracer S (sur l'axe des x) et B (axe) .Comment puis-je générer un tracé de lignes avec gnuplot.tracer uniquement des colonnes spécifiques dans gnuplot

Test_Image,Original_Size 
    red-room.png,918394 
    Q,S,B,S,C,R 
    0,1021763,0.121086,0.00001459,-11.26,-222.18 
    1,1061763,0.125086,0.00001459,-11.26,-222.18 
    2,1051763,0.121086,0.00001459,-11.26,-222.18 
    3,1041763,0.121086,0.00001459,-11.26,-222.18 
    4,986461,0.151573,0.00003318,-7.63,-211.67 
    5,955766,0.160869,0.00005782,-4.07,-201.37 

Fondamentalement, je besoin d'une façon de dire gnuplot d'ignorer les 3 premières lignes et tracer la 2RD et 3e colonne.

Répondre

0

Vous devez dire gnuplot que les champs sont délimités par des virgules et qu'il faut tracer les colonnes 2 et 3:

set datafile separator comma 
plot "data.csv" using 2:3 w lp 

Gnuplot ignore automatiquement les trois premières lignes.

0

Vous pouvez modifier les données comme il est lu (sans affecter votre fichier d'entrée) comme ceci:

plot 'awk -F, "NR>3{print $2,$3}" data.csv |' using ... 

Cela dit aux champs d'impression 2 et 3 des lignes où le numéro de ligne est supérieure à 3 de votre fichier d'entrée data.csv.

Vous pouvez expérimenter avec le stand-alone commande awk dans le terminal pour le tester en dehors de gnuplot:

awk -F, 'NR>3{print $2, $3}' data.csv