Das leistungsfähige Werkzeug Grace visualisiert und analysiert Daten aller Art. Dabei birgt die intuitiv bedienbare Software überraschend komplexe Funktionen.
Zum Erstellen automatisch erzeugter numerischer Grafiken – neuhochdeutsch: Plots – sind die Plotutils [1] eine gute Wahl. Geht es jedoch darum, viele Parameter zu variieren und die Anzeige der Ausgabe zu optimieren, dann reichen diese kleinen Programme schon bald nicht mehr aus. Früher fiel dann die Wahl fast automatisch auf GNU Plot. Trotz des Namens hat das Programm nichts mit GNU zu tun und steht außerdem nicht unter einer freien Lizenz. Dies beförderte eine Reihe von Konkurrenzentwicklungen, die dann über Xmgr (auch als ACE/gr bekannt) zu Grace [2] führten, das nun unter der GPL steht.
Grace steht dabei für “Graphing, Advanced Computation and Exploration of Data” oder “Grace Revamps ACE/gr”, wobei die zweite Variante auf den Vorgänger Xmgr anspielt. Von der Software gibt es verschiedene Varianten für unterschiedliche Toolkits. Die hier beschriebene Version GraceGtk [3] basiert auf GTK, das sowohl Gnome als auch XFCE verwendet. Der Name des Binaries dieser Version lautet ggrace; das passende Archiv trägt die Zeichenkette gracegtk im Dateinamen. Die Standardvariante steht in den meisten Distributionen unter dem Namen xmgrace (im Paket grace) bereit.
Ggrace ist die derzeit am gefälligsten erscheinende Variante und verfügt zudem über eine recht gute Online-Hilfe. Insgesamt unterscheiden sich die Spielarten jedoch nicht sehr voneinander. Im Unterschied zu den Plotutils handelt es sich bei Grace um ein WYSIWYG-Programm für das Plotten von Funktionen oder Daten. Alle Aktionen, Varianten und Veränderungen nehmen Sie bei Bedarf direkt vor. Alternativ unterstützt das Programm den Einsatz von Skripten oder Batch-Jobs, die es erlauben, viele Plots in unterschiedlichen Varianten mit variierenden Parametern effektiv zu erzeugen. Darüber hinaus bringt Grace diverse Optionen für die Kommandozeile mit.
Am Projekt orientiert
Die Entwickler haben Grace so konzipiert, dass sich die Arbeit an Projekten orientiert. Es speichert alle Informationen für ein Projekt in einem Satz Dateien, inklusive der Daten, mathematischen Funktionen und Einstellungen für die Anzeige. Die Projektdateien erhalten die Endung .agr, Daten lagern in .dat-Files und für Parameter-Dateien verwendet Grace .par. Die Daten-Files enthalten nur Datenpunkte, Messwerte oder andere Parameter, die zeilenweise angeordnet sind.
Ein Satz (Set) ist bei Grace der zentrale Begriff, wenn es um die Anzeige von Graphen geht. Das Set besteht aus einem Datensatz (oder dem Zeiger auf einen solchen) und den die Anzeige steuernden Parametern, die die Farbe der Linie, den Typ und weitere Faktoren definieren. Nicht alle Set-Typen arbeiten jedoch mit allen Typen von Graphen zusammen. Ein weiterer wichtiger Begriff in Zusammenhang mit Grace ist die Region. Dahinter verbirgt sich ein Bereich, auf den Sie innerhalb eines Graphen eine Aktion anwenden.
Oberfläche
Die schlicht gehaltene Oberfläche von Grace (Abbildung 1) umfasst neben dem obligatorischen Menü und einer darunterliegenden Statuszeile eine auf der linken Seite angeordnete Werkzeugleiste. Letztere besteht aus mehreren Teilen: Draw erneuert die Anzeige des Graphen manuell, falls dies nicht automatisch erfolgte (Abbildung 1, Bereich 1). Mit den Controls in Bereich 2 verschieben Sie den angezeigten Ausschnitt oder skalieren die Anzeige.

Abbildung 1: Beim Start mit einem Datensatz zeigt Grace, hier in der Gtk-Version, seine einfache und übersichtliche Oberfläche.
Die Schaltflächen in Bereich 3 sorgen dafür, dass die Software die Bemaßung automatisch anpasst. Die Buttons in Bereich 4 erlauben spezielle manuelle Anpassungen, automatischen Zoom sowie ein Verschieben des Ausschnitts. Darunter finden Sie Schaltflächen, um die Achsen anzupassen, gefolgt von solchen zum Bearbeiten von Objekten, zum gezielten Löschen einzelner Objekte sowie (am unteren Ende) zum Einlesen von Datensätzen.
Oft ist es sinnvoller, statt über das Menü die Aktionen über Tastenkürzel zu aktivieren – das geht schneller. Die Tabelle “Tastenkürzel in Grace” fasst die wichtigsten Kombinationen zusammen. Es gibt zwei Besonderheiten der Software, die Sie kennen sollten, weil sie oft von Bedeutung sind. Zum einen erlaubt es das Programm oft, mehr als eine Option auszuwählen – so beim Einlesen von Daten oder bei der Auswahl von Parametern. Ein normaler Mausklick aktiviert genau den ausgewählten Eintrag, zusammen mit [Umschalt] wählen Sie Bereiche von Einträgen aus, in Kombination mit [Strg] ausgewählte Einträge. In vielen Situationen gibt es zum anderen zwei Schaltflächen zum Bestätigen von Aktionen: Apply (oder Anwenden) wendet die ausgewählte Aktion an, bei Accept beendet sich zusätzlich der Dialog.
Tastenkürzel in Grace
| Kürzel | Format |
|---|---|
| [Strg]+[A] | automatisches Skalieren |
| [Strg]+[D] | ausgewähltes Objekt löschen |
| [Strg]+[L] | Legende des aktuellen Graphen verschieben |
| [Strg]+[M] | aktuelles Objekt verschieben |
| [Strg]+[T] | Zeitstempel platzieren |
| [Strg]+[U] | Hotlinks aktualisieren |
| [Strg]+[V] | Viewport mit der Maus setzen |
| [Strg]+[Z] | Zoomen |
| [Strg]+[Alt]+[L] | Linie zeichnen |
| [Strg]+[Alt]+[B] | Box zeichnen |
| [Strg]+[Alt]+[E] | Ellipse zeichnen |
| [Strg]+[Alt]+[T] | Zeichenkette schreiben |
Praxis
Der Einsatz von Grace gestaltet sich relativ einfach: Normalerweise lesen Sie zunächst Daten aus einer Datei ein, bearbeiten und formatieren diese und erstellen anschließend eine Ausgabedatei.
Wie diese Daten aussehen, demonstrieren einige Beispiele, die zur Installation von Grace gehören. Listing 1 zeigt den Inhalt der Datei 2.1.dat, die zum Kapitel 2.1 des Tutorials [4] gehört: Mehrere Zeilen enthalten jeweils vier durch Leerzeichen oder Tabulatoren getrennte Werte. Sie finden das File unter /usr/share/grace/doc/2.1.dat oder /usr/share/gracegtk/doc/2.1.dat. Zum Laden solcher Textdateien verwenden Sie die Funktion ASCII Data unter Import im Menüpunkt Data oder alternativ die Schaltfläche Import (Abbildung 1).
Listing 1
1 4 3 2 2 3 3 4 3 2 3 2 4 1 3 4
Grace öffnet nun ein komplexes Fenster (Abbildung 2). Über Read to graph zeigt es einen Auszug aus der eingelesenen Datei, was den Aufruf eines externen Editors erspart. Darunter, im Feld Columns, ordnen Sie die Spalten zu. Voreingestellt – wie hier gezeigt – interpretiert Grace nur die erste Spalte als X-Werte, alle weiteren Spalten als Y-Werte. Das ändern Sie bei Bedarf durch Editieren des Feldes.

Abbildung 2: Bereits beim Einlesen von Daten ordnen Sie diese so zu, dass der resultierende Graph direkt die gewünschte Form annimmt.
Mit Load as definieren Sie, wie die Anzeige erfolgt und wie Grace die Daten dabei interpretieren soll. Sie testen das zum Beispiel, indem Sie als Interpretation nicht Single Set (ein Datensatz) auswählen, sondern NXY (Abbildung 3). Sie haben die Möglichkeit, einzelne Datensätze mehrfach einzulesen und unterschiedlich aufzubereiten. Weiterhin ermöglicht der Dialog es, zusätzliche Datensätze einzulesen und entsprechend zu interpretieren. Erst ein Klick auf Abbrechen oder Accept schließt den Import der Daten.

NXY des Datensatzes aus Listing 1.” width=”300″ height=”163″ />
Abbildung 3: Von der gewählten Interpretation der Daten hängt es ab, wie die Applikation die Ergebnisse anzeigt. Die Abbildung zeigt die DarstellungNXY des Datensatzes aus Listing 1.Einzelne Datensätze, die Sie nicht mehr benötigen, entfernen Sie mittels der Funktion Data_sets… im Menü Edit (Abbildung 4). Das Menü Edit dieses Dialogs enthält darüber hinaus die Funktion Duplicate, mit der Sie einen Datensatz duplizieren. Mit Kill data löschen Sie zuvor ausgewählte Datensätze, über Edit data passen Sie Datensätze im Editor oder der Tabellenkalkulation an. Der Punkt Create new ermöglicht das Anlegen ganz neuer Datensätze, entweder aus bestehenden Daten mittels Editor oder Tabellenkalkulation, oder durch eine Formel (siehe Kasten “Formeln”).

Abbildung 4: Haben Sie eine Reihe von Datensätzen eingelesen, entfernen Sie bei Bedarf gezielt einzelne daraus oder passen diese an.
Formeln
Grace kann mit Formeln rechnen und diese darstellen. Die Arbeitsweise fällt dabei allerdings etwas gewöhnungsbedürftig aus: Zunächst öffnen Sie dafür durch Data sets… im Menü Edit den in Abbildung 5 gezeigten Dialog. Anschließend wählen Sie darin – ebenfalls im Menü Edit – unter Create new mit By formular den Eingabemodus für Formeln. Für diese verwendet das Programm eine ganz spezielle Syntax: Der Ausdruck $t in dieser Schreibweise kommt als freie Variable zum Einsatz, die sowohl für die X-Achse als auch für die Formel (Y-Achse) als Referenz dient. Oft kommt die Zuordnung X=$t zum Einsatz, die den X-Wert direkt mit der Variablen assoziiert. Für die eigentliche Formel – im Beispiel y=sin($t)/$t(^2)x – kommt ebenfalls $t zum Einsatz. Die genaue Form der Eingabe hängt dabei vom Typ des Graphen ab. Über Accept oder Anwenden aktivieren Sie die Formel.
Die letzten beiden Menüpunkte in diesem Dialog gehen noch einen Schritt weiter: Sie erlauben, die Darstellung für den ausgewählten Datensatz gezielt anzupassen (Abbildung 6). Hier zeigt sich wieder die Komplexität der Software: Links finden Sie unter Objects im Bereich Graph die Datensätze (Set 0 bis Set 8). Rechts führt das Fenster Options in fünf Reitern die für die Anzeige verfügbaren Parameter auf – neben mehreren Varianten von Linien gehören dazu diverse Symbole sowie Fehlerbalken. Im Bereich Ann. values platzieren Sie für jede Kurve zusätzlich noch Anmerkungen.
Weiterhin besteht die Möglichkeit, in diesem Dialog unter Legende 0 eine Legende für die Grafik sowie zusätzliche Linien oder Polygone zu erzeugen. Selbst eine Grafik für den Hintergrund binden Sie schnell ein (Abbildung 7). Um ein Bild zu platzieren, klicken Sie auf Image, was den passenden Dialog öffnet. Hier wählt Choose a file to load die Bilddatei. Das Platzieren erfolgt mit der Maus nach einem Klick auf Create & place with mouse. Verwenden Sie mehrere Hintergrundgrafiken, so stellt Layer die Reihenfolge ein und steuert damit, welche Grafik was überdeckt.

Abbildung 7: Hintergrund-Grafiken sollten Sie vorab mittels Gimp in der Deckkraft reduzieren, damit die Linien der Diagramme sich nicht darin verlieren. Dafür bietet Grace selbst keine Funktion an.
Möchten Sie unterschiedliche Datensätze in verschiedenen Farben ausgeben, verwenden Sie dazu All colors im Menü Data. Die gesamten Möglichkeiten zum Formatieren von Graphen finden Sie im Grace-Handbuch [5].
Spezialitäten
Grace verfügt über einige spezielle Fähigkeiten: So kann es etwa eingelesene Daten analysieren. Dabei stehen Funktionen wie Fast-Fourier-Transformation (FFT), Integration und Differenzieren, Interpolation und Glätten, Splines (einschließlich erweitertem Glätten in Form von Akima-Splines), Falten, Correlation und Covariation sowie Histogramme und Sortierungen bereit. Daneben verfügt Grace über eine eingebaute Programmiersprache, die über ladbare Module ermöglicht, die Software über von Ihnen definierte Funktionen und sogar über externe Programme zu steuern.
Liefert ein externes Programm Daten, so bearbeitet Grace diese in Echtzeit. Die GUI steht dabei weiterhin für diese Daten bereit. Mit sogenannten Hotlinks greifen Sie auf Quellen zu, die unterschiedliche Daten enthalten; dabei darf es sich um Dateien oder Pipes handeln. Mit einem Mausklick aktualisieren Sie die Ausgabe. Grace unterstützt die Ausgabe in Postscript sowie PDF, SVG und Bitmap-Formate. Die Vektorgrafiken ermöglichen quasi jeden gewünschten Grad an Details.
Aus Beispielen lernen
Das Studium der gesamten Dokumentation liegt vermutlich nicht jedem. Daher haben die Entwickler den Menüpunkt Examples eingebaut, der wichtige, oft benötigte Grafikvarianten vorstellt und deren Parameter zugänglich macht (Abbildung 8). Es lohnt sich, zunächst einen Blick auf das Beispiel Explain zu werfen. Es fasst einige grundlegende Funktionen zusammen und erklärt Wesentliches. Anschließend empfiehlt es sich, in dem umfangreichen Menü (Abbildung 9) nachzusehen, ob sich etwas findet, was Ihren Anforderungen genügt oder Ihnen zumindest den Weg weist.

TreeView die gewählten Parameter an.” width=”300″ height=”163″ />
Abbildung 8: Um die Beispiele zu verstehen, laden Sie diese und schauen sich dann unterTreeView die gewählten Parameter an.
Examples enthält für viele übliche Aufgaben Lösungen, die Sie bei Bedarf auf die eigenen Bedürfnisse anpassen.” width=”267″ height=”300″ />
Abbildung 9: Das MenüExamples enthält für viele übliche Aufgaben Lösungen, die Sie bei Bedarf auf die eigenen Bedürfnisse anpassen.Fazit
Grace ist ein leistungsfähiges, aus diesem Grund aber auch recht komplexes Programm. Um die ersten kleinen Plots zu erstellen und zu beschriften, helfen die Informationen aus dem Tutorial. Wenn es um komplexere Anforderungen geht, wächst der Aufwand beim Einarbeiten schnell an. Hier ist die Situation einmal ganz gegensätzlich zu der bei anderen freien Projekten: Die Dokumentation fällt so umfangreich aus, dass Sie einige Zeit brauchen, um sie zu sichten und das Wesentliche herauszufinden.
Infos
[1] Plotutils: Karsten Günther, “Augenfällig”, LU 05/2015, S. 30, https://www.linux-community.de/31475
[2] Grace: http://plasma-gate.weizmann.ac.il/Grace/
[3] GraceGtk: http://sourceforge.net/projects/gracegtk/
[4] Tutorial: http://plasma-gate.weizmann.ac.il/Grace/doc/Tutorial.html
[5] Manual: http://plasma-gate.weizmann.ac.il/Grace/doc/UsersGuide.html







