Comment tracer un graphique à partir des valeurs d'un fichier texte? Le fichier texte ressemble à ci-dessous:
location count1 count2
HZ 100 193
ES 514 289
FP 70 137
BH 31 187
Je veux tracer ces valeurs sous forme de graphique dans un script shell. Dans les valeurs de l'axe x de la colonne d'emplacement et les valeurs de l'axe y de la colonne count1 et count2.
plot "/tmp/temp.txt"
échoue avecBad data on line 1 of file /tmp/temp.txt
. Je pense que vous devrez peut-être simplement créer une version du fichier avec juste des chiffres, pas d'en-têtes de ligne / colonne. Vous pouvez également utiliser quelque chose comme gnumeric.Réponses:
Utiliser le même fichier d'entrée (ex.tsv) et créer un script gnuplot pour mieux contrôler les détails
et gnuploter les données:
nous voyons l'histogramme correspondant.
Pour créer un fichier png (à télécharger et afficher en SO), ajoutez 2 lignes supplémentaires:
la source
Solution de travail pour gnuplot v5.0:
Fichier de données d'entrée
loc.dat
:script gnuplot
locations.plt
:set title "Location data"
- titre de l'intrigue principaleset xlabel "location"
- étiquette de réglage pour l'x
axeset ylabel "count"
- étiquette de réglage pour l'y
axeset grid
- ajouter une grille à l'intrigue(column(0)):2:xtic(1)
- plage de colonnes,(column(0))
- comme la 1ère colonne du fichier d'entrée a des valeurs non numériques, nous devons imiter la 1ère colonne numérique car gnuplot n'attend que des valeurs numériquesw l
- signifie avec des lignes , pour joindre tous les points de données avec des lignesLancement interactif:
Résultat rendu:
la source
gnuplot> load "locations.plt"
, gnuplot exige que,load locations.plt
ne fonctionnera pas et vous obtiendrez une "erreur interne: l'opérateur STRING appliqué à une variable non définie ou non STRING" si vous l'oubliez.