Wie zeichne ich ein Diagramm aus Textdateiwerten? Die Textdatei sieht wie folgt aus:
location count1 count2
HZ 100 193
ES 514 289
FP 70 137
BH 31 187
Ich möchte diese Werte als Diagramm in einem Shell-Skript darstellen. In x-Achsenwerten der Positionsspalte und y-Achsenwerte der Spalten count1 und count2.
plot "/tmp/temp.txt"
scheitert mitBad data on line 1 of file /tmp/temp.txt
. Ich denke, Sie müssen möglicherweise nur eine Version der Datei mit nur Zahlen und keinen Zeilen- / Spaltenüberschriften erstellen. Alternativ können Sie auch etwas wie gnumerisch verwenden.Antworten:
Verwenden Sie dieselbe Eingabedatei (ex.tsv) und erstellen Sie ein Gnuplot-Skript, um die Details besser steuern zu können
und Gnuploting der Daten:
wir sehen das entsprechende Histogramm.
Um eine PNG-Datei zu erstellen (zum Hochladen und Anzeigen in SO), fügen Sie zwei weitere Zeilen hinzu:
quelle
Arbeitslösung für gnuplot v5.0:
Eingabedatendatei
loc.dat
:Gnuplot- Skript
locations.plt
:set title "Location data"
- Titel der Haupthandlungset xlabel "location"
- Beschriftung fürx
Achse einstellenset ylabel "count"
- Beschriftung füry
Achse einstellenset grid
- Hinzufügen eines Rasters zum Plot(column(0)):2:xtic(1)
- Spaltenbereich,(column(0))
- Da die 1. Spalte in der Eingabedatei nicht numerische Werte enthält, müssen wir die numerische 1. Spalte imitieren, da gnuplot nur numerische Werte darin erwartetw l
- bedeutet mit Linien , alle Datenpunkte mit Linien zu verbindenInteraktiver Start:
Gerendertes Ergebnis:
quelle
gnuplot> load "locations.plt"
, gnuplot erfordert, dass diesload locations.plt
nicht funktioniert und Sie erhalten den "internen Fehler: STRING-Operator auf undefinierte oder nicht-STRING-Variable angewendet", wenn Sie ihn vergessen.