Zeichnen von Spalten durch Aufruf ihrer Kopfzeile mit GnuPlot

8

Ich habe eine Datei in diesem Format:

%Vor%

Ich möchte Diagramme erstellen, die dem folgenden Befehl ähneln gib

%Vor%

, aber unter Verwendung der Spaltenüberschriften ( x , y1 , ei1 und es1 ), um sie aufzurufen. Wie kann das gemacht werden?

Seite 84 des gnuplot-Handbuchs (das den Befehl using dokumentiert) lautet:

%Vor%
  

dann sind die folgenden Plot-Befehle alle äquivalent

%Vor%

Aber wenn ich sie ausprobierte, bekam ich nur die Zeilenindizes gegenüber sich selbst.

    
Alfred M. 16.07.2012, 08:18
quelle

1 Antwort

5

Bei einem kurzen Blick auf die Dokumentation von gnuplot 4.4 vs gnuplot 4.6 (aktuelle stabile Version) scheint die Funktion, die Sie zu verwenden versuchen, wahrscheinlich in gnuplot 4.5 eingeführt wurde (ungerade Zahlen sind die Entwicklungszweige - wenn sie es sind als stabil angesehen, werden sie auf eine gerade Zahl erhöht). Die einzige Möglichkeit, dies zu erreichen, besteht darin, ein einfaches Skript in einer anderen Sprache zu schreiben, die die Spaltennummer (in stdout) zurückgibt. Hier ist ein einfaches Beispiel mit Python, obwohl ich mir sicher bin, dass Sie dies in awk tun können, wenn Sie in einer All-POSIX-Umgebung bleiben möchten:

%Vor%

Dieses kleine Skript macht nichts Besonderes (es geht davon aus, dass die Spaltenüberschriften in der ersten Zeile stehen), aber mit der Leistung von Python wäre es ziemlich einfach, das Skript weiter zu erweitern:

%Vor%

Nun können Sie dieses Skript wie folgt aufrufen: python script.py datafile AGE , um herauszufinden, in welcher Spalte "AGE" ist. Es ist ein Fehler, wenn "AGE" in keiner Spalte ist.

    
mgilson 16.07.2012, 12:22
quelle

Tags und Links