Comment tracer un graphique à partir d'une valeur de file text en utilisant gnuplot?

Comment tracer un graphique à partir de valeurs de file text? Le file text ressemble à ceci:

location count1 count2 HZ 100 193 ES 514 289 FP 70 137 BH 31 187 

Je veux tracer ces valeurs comme un graphique dans le script shell. En abscisse les valeurs des colonnes d'location et des valeurs d'axe y des colonnes count1 et count2.

    Solution de travail pour gnuplot v5.0:

    Fichier de données d'input loc.dat :

     location count1 count2 HZ 100 193 ES 514 289 FP 70 137 BH 31 187 

    script gnuplot locations.plt :

     #!/usr/bin/gnuplot -persist set title "Location data" set xlabel "location" set ylabel "count" set grid plot "loc.dat" u (column(0)):2:xtic(1) wl title "","loc.dat" u (column(0)):3:xtic(1) wl title "" 

    • set title "Location data" – titre principal de la plot

    • set xlabel "location" – label de réglage pour l'axe x

    • set ylabel "count" – label de réglage pour l'axe y

    • set grid – append la grid à la plot

    • (column(0)):2:xtic(1) comme la première colonne du file d'input a des valeurs non numériques, nous devons imiter la 1ère colonne numérique, car gnuplot attend uniquement des valeurs numériques valeurs dedans

    • wl – signifie avec des lignes , pour joindre tous les points de données avec des lignes


    Lancement interactif:

     $ gnuplot gnuplot> load "locations.plt" 

    Résultat rendu:

    entrer la description de l'image ici

    Utiliser le même file d'input (ex.tsv) et créer un script gnuplot pour mieux contrôler les détails

     set style data histogram set style fill solid border -1 plot for [i=2:3] '/dev/stdin' using i:xtic(1) title col 

    et gnuploting datatables:

     gnuplot -p ex.gnu < ex.tsv 

    nous voyons l'histogramme correspondant.

    Pour créer un file png (pour download et afficher dans SO), ajoutez 2 lignes de plus:

     set terminal pngcairo enhanced font "arial,10" fontscale 1.0 size 600, 400 set output 'out.png' set style data histogram set style fill solid border -1 plot for [i=2:3] '/dev/stdin' using i:xtic(1) title col 

    entrer la description de l'image ici