Grafische Gestaltung

<< Click to Display Table of Contents >>

Navigation:  Daten und Datensatz > Output aufbereiteter Daten > Grafische Darstellung > GESStabs Artist >

Grafische Gestaltung

Hier die mit GESStabs Artist möglichen Gestaltungsoptionen für Charts:


Platzierung der Charts

Bei der Platzierung ist grundsätzlich zu differenzieren, ob die Charts in ein externes Printfile ausgelagert oder in das normale Ausgabefile integriert werden sollen. Ersteres fordert man durch Angabe eines GESSCHARTPRINTFILE im Script an.

Das Standardverhalten ist, dass vor der Ausgabe eines Charts ein Seitenumbruch erfolgt. Die Charts werden immer hinter der Tabelle ausgegeben. Das Schlüsselwort NEWPAGE entfällt deshalb in der GESSCHART-Syntax.

Gegenwärtig wird NEWPAGE in diesem Kontext noch akzeptiert, ist aber wirkungslos.

Mit der Option SAMEPAGE kann man die Ausgabe eines Charts auf dieselbe Seite wie die Tabelle anfordern. Werden mittels SAMEPAGE mehrere Charts auf einer Seite kombiniert, und es gilt ein allgemeines CHARTAREA-Statement, wird GESStabs den zur Verfügung stehenden Platz gleichmäßig aufteilen.

Wenn die Zeichnungsfläche im allgemeinen CHARTAREA Hochformat hat (Höhe > Breite), dann wird in der Höhe geteilt, Charts werden also übereinander angeordnet. Sonst in der Breite.

Eine explizite CHARTAREA-Angabe im GESSCHART-Statement hat Vorrang.

Mit SAMEPAGE und einer expliziten CHARTAREA-Angabe ist es natürlich möglich, dass mehrere Charts oder Tabelle und Chart übereinander gedruckt werden.


Rows und Columns

Nach dem =-Zeichen können beliebig viele, durch den ein Pipe (|) eingeleitete Elemente stehen, die Inhalte des Charts definieren: Chartranges. Hier wird der Bezug zu den Tabellenzellen hergestellt. Wenn es sich nicht um ein zusätzliches graphisches Element (INFOBOX) handelt, muss mindestens eine Zelle der Tabelle benannt werden. In einer ROWS-Klausel kann man eine oder mehrere Zeilen benennen. Dies geschieht durch die Nennung des Codes. Dasselbe gilt auch für COLUMNS. ROWS 6 COLUMNS 5 z.B. benennt genau eine Zelle der Tabelle: die Zelle, die in der Zeile mit Code 6 und der Spalte mit Code 5 steht. Wenn im Kopf oder der Vorspalte der Tabelle mehr als eine Variable enthalten sind, dann kann man auch die Ordnungszahl der betreffenden Variablen angeben: der Code 3 der 2. Variablen im Kopf wäre mit COLUMNS 2/3 zu bezeichnen. Der Bereich der Codes 2-6 in der 2. Variablen im Kopf heißt COLUMNS 2/2 : 2/6. Dies kann man abkürzen zu COLUMNS 2/2:6.

Man kann COLUMNS und ROWS auch in der Form von POSITION angeben. Bei Gebrauch von POSITION entfällt die Angabe der Variablennummer: es ist die tatsächliche Position einer Spalte bzw. Zeile in der Tabelle. Die Positionen werden über alle Variablen hinweg gezählt.

An dieser Stelle ein kleiner syntaktischer Hinweis: Wenn hinter ROWS oder COLUMNS mehrere Zeilen bzw. Spalten benannt werden, so ist es erlaubt, Verweise auf Code und Verweise auf POSITION zu mischen.

Man kann also schreiben:

ROWS POSITION 1:10 25 28

Man muss sich im Klaren sein, dass hier die ersten zehn Zeilen der Tabelle angesprochen werden, und zusätzlich die Zeilen, die den Codes 25 und 28 entsprechen. Will man stattdessen die Zeilen 1-10, 25 und 28 ansprechen, dann lautet die korrekte Formulierung:

ROWS POSITION 1:10 POSITION 25 POSITION 28


Form

Jedes Chartrange benötigt mindestens ein Form der Darstellung. (Wird keine FORM angegeben, ist RECTANGLE der Default.)

Es können mehrere FORMS verlangt werden: RECTANGLE und RECTLINE zusammen z.B. zeichnen eine Säule (VERTICAL) oder einen Balken (HORIZONTAL), dessen Kante mit der Kante des Vorgängers mit einer Linie verbunden wird. LINE und SQUARE2O würden eine Linie zeichnen, und an die Datenpunkte ein auf der Spitze stehendes Quadrat, das innen weiß ist.


Direction

Normalerweise »wachsen« Säulen von unten nach oben bzw. von links nach rechts. Der Default ist also RISING. Wenn man einzelne Chartranges als FALLING bezeichnet, dann werden diese von der Nulllinie in die entgegengesetzte Richtung gezeichnet. Ein Sonderfall sind VERTICAL bzw. HORIZONTAL als DIRECTION: dies ist nur in Verbindung mit X/Y-Plots sinnvoll. Hiermit kann man festlegen, welche Variable in der X- bzw. Y-Richtung gezeichnet werden soll.


Color, LineColor

In der Regel sind die Farben der einzelnen Elemente durch die GESSCHARTCOLORS systematisch definiert. Zur optischen Hervorhebung kann man allerdings den Elementen einzelner CHARTRANGES eine abweichende Farbe geben. Dies ist ein ganzzahliger Zahlenwert, der die RGB-Komponenten der Farbe benennt, am übersichtlichsten in der hexadezimalen Darstellung, die mit $ gekennzeichnet wird.


NumInGraph, NumExGraph, NumCenterGraph

Mit NUM<xx>GRAPH wird eine Beschriftung der graphischen Elemente mit dem numerischen Inhalt der Tabellenzelle angefordert.

xx=IN steht für eine Beschriftung innerhalb des Bereichs, also z.B. bei einer Säule knapp unterhalb der oberen begrenzenden Kante. Bei STACKED wird die Position der Zahl in die Mitte der Gesamtfläche von Säule/Balken verschoben.

Bei xx=EX wird die Zahl außerhalb des graphischen Bereichs dargestellt. Mit xx=CENTER wird die Zahl zentriert auf die Position des Datenpunktes im X/Y-Koordinatensystem gedruckt.


AxisMinMax

Um mehrere Charts miteinander vergleichbar zu machen, kann man die jeweils optimierte Skalierung steuern, indem man zu berücksichtigende Minimal- und Maximalwerte explizit angibt.


SymbolSize

SYMBOLS, deren Größe beeinflusst werden kann:

TRIANGLE1
TRIANGLE1O
TRIANGLE2
TRIANGLE2O
SQUARE1
SQUARE1O
SQUARE2
SQUARE2O
CIRCLE
CIRCLEO


LineDash

LINEDASH ist ein ganzzahliger Wert zwischen 1 und 10. In GESStabs sind zehn Formen gestrichelter Linien vordefiniert, die man zur Gestaltung von LINE oder RECTLINE abrufen kann. Voreinstellung: 0, das entspricht einer durchgezogenen Linie.


LineWidth

Die Dicke von LINE bzw. RECTLINE.


Explode

Ist bei anderen Formen als PIE oder PIE100 wirkungslos. Die aus den im Chartrange benannten Werten hervorgehenden Tortenstücke werden um den angegebenen Wert in typographischen Punkten nach außen verschoben. Die Verschieberichtung ist der Vektor vom Mittelpunkt des PIE durch den Schwerpunkt des Tortenstückes vor der Verschiebung.


Infobox

Man kann beliebig viele »Zusätze« in die Chartseite drucken: Wenn im Chartrange das Schlüsselwort INFOBOX erscheint, werden nur noch die inhaltlich zu INFOBOX gehörenden Spezifikationen ausgewertet, mit denen man die Eigenschaften weiterer gewünschter rechteckiger Informationsflächen spezifizieren kann. Umgekehrt ist es ein syntaktischer Fehler, wenn die Schlüsselwörter TEXT, FONT etc. im Chartrange stehen, wenn dieser nicht mit INFOBOX eingeleitet wurde. Die X- und Y-Koordinaten einer INFOBOX sind relativ zur linken unteren Ecke des Charts. Es dürfen auch negative Werte verwendet werden: ein X von -50 würde diese INFOBOX 50mm (oder POINTS) links von linken Rand des Charts positionieren.

Ist nichts Weiteres angegeben, werden die Positionsangaben X, Y, WIDTH und HEIGHT als relative Koordinaten in Bezug auf die linke untere Ecke des Charts betrachtet. Als Units werden MM und POINTS interpretiert. Schreibt man direkt hinter INFOBOX (bzw. BACKGROUNDBOX) das Schlüsselwort ABSOLUTE, gelten die Koordinaten ab der linken unteren Ecke des Papiers.

Setzt man direkt hinter eine numerische Angabe zu X, Y, WIDTH und HEIGHT ein Prozentzeichen, dann wird diese Größe als prozentualer Anteil an der Chartwidth bzw. Chartheight interpretiert. Gilt ABSOLUTE, dann als prozentualer Anteil an der Papierbreite bzw. Papierhöhe (s. PAPER-Statement).


BackgroundBox

Anstelle von INFOBOX kann man auch die Vokabel BACKGROUNDBOX verwenden. Diese hat dieselbe Funktion, nur wird die Box im Hintergrund des Charts gedruckt. Während INFOBOX Teile eines Charts überlagern kann, wird eine BACKGROUNDBOX ggf. vom Chart überlagert.


Ergänzungen des GESSChart-Statements

Inhaltlich ergänzt wird das GESSCHART-Statement durch die Statements GESSCHARTPRINTFILE, GRAPHAREA, GESSCHARTFORMAT , GESSCHARTNUMFORMAT, GESSCHARTFONT, GESSCHARTCOLORS sowie GESSHEADER und GESSFOOTER.  

GESSChartPrintFile

Syntax:

GESSCHARTPRINTFILE [ PS | PDF ] = <filename> ; 

Hiermit wird parallel zum Printfile ein weiteres Ausgabefile für die Charts angefordert. Alle Charts werden dann in diesem zusätzlichen Ausgabefile abgelegt.

Für das Papierformat existiert eine Erweiterung des Standard-PAPER-Statements.

Syntax:

GESSCHARTPRINTFILE = [ height \ldots{} width \ldots{} ]; 

Hiermit stellt man auch Querformat ein.

GraphArea

Syntax:

GRAPHAREA = <x> <y> <width> <height> ; 

Mit diesem Statement weist man den Charts den Platz der Druckfläche zu. Soll auf einer Tabellenseite mehr als ein Chart dargestellt werden, dann wird die Fläche in gleiche Teile geteilt. Als UNITS sind MM und POINTS zugelassen.

Diese syntaktisch selbständige Angabe legt eine Voreinstellung fest, diese verliert ihre Gültigkeit, wenn eine GRAPHAREA im GESSCHART-Statement explizit vereinbart wird.

GESSChartFormat

Syntax:

GESSCHARTFORMAT = { + | - <option> }*n ; 

OPTION ::=

NUMINGRAPH

Skalenwerte in graphischen Elementen

NUMEXGRAPH

Skalenwerte außerhalb graphischer Elemente

NUMCENTERGRAPH

Skalenwerte zentral in graphischen Elementen

WHITENUMBERS

Skalenwerte in weiß drucken

NOSCALE

Skala unterdrücken

NOFRAME

Rahmen unterdrücken

STROKERECT

Umrandung zu RETANGLES zeichnen

ELLIPSIS

Konfidenzintervall als Ellipse anzeigen (wenn bekannt)

GAUSS

Konfidenzintervall als stilisierte Gausskurve anzeigen

GAUSSO

Konfidenzintervall als stilisierte Gausskurve anzeigen (outline)

TRIANGLE1

Skalenwert mit einem Dreieck markieren (auf der Basis stehend)

TRIANGLE2

Skalenwert mit einem Dreieck markieren (auf der Spitze stehend)

TRIANGLE1O

Dreieck (auf der Basis stehend) als Outline

TRIANGLE2O

Dreieck (auf der Spitze stehend) als Outline

SQUARE1

Quadrat (auf der Basis stehend)

SQUARE2

Quadrat (auf der Spitze stehend)

SQUARE1O

Quadrat (auf der Basis stehend) als Outline

SQUARE2O

Quadrat (auf der Spitze stehend) als Outline

CIRCLE

Skalenwert mit einem Kreis markieren

CIRCLEO

Skalenwert mit einem Kreis markieren als Outline

OVERLAPPED

Die graphischen Elemente überlappend darstellen

ZEROBASED

Die Skala soll immer den Nullpunkt enthalten

NOWHITEBACK

keinen weißen Hintergrund unter Zahlen drucken

NOLEGEND

keine Legende ausgeben

NOLABEL

keine Labels ausgeben

ALLOWASYMMETRY

asymmetrische Ausgabe der Skala bei RISING/FALLING

Analog zum TABLEFORMAT kann man die einzelnen Optionen ein- und ausschalten. Der Zustand von GESSCHARTFORMAT gilt für alle danach stehenden Charts, bis ein weiteres GESSCHARTFORMAT dieses wieder ändert. Mit GESSCHARTFORMAT kann man immer nur alle entsprechenden Elemente beeinflussen. Für viele dieser Eigenschaften gibt es parallele Schalter auch in den Chartranges (siehe Syntaxübersicht). Mit diesen kann man auch einzelne Elemente beeinflussen.

GESSChartNumFormat

Syntax:

GESSCHARTNUMFORMAT  = <formatstring>;

Default: GESSCHARTNUMFORMAT  =' (#)';

Mit dem GESSCHARTNUMFORMAT kann man die Ergänzung des Labeltextes mit ABSINLABELX oder ABSINLABELY, der entweder in die Labels oder die LEGEND des GESSCHART geschrieben wird, um die Angabe der Basis ergänzen. Die Ausgabe der Basis wird durch einen einfachen Formatstring gesteuert. In diesem Format String kann einmal ein Lattenkreuz stehen, dies ist der Stellvertreter für die Ausgabe der Zahl. Wenn man eine Zeilenschaltung vor der Zahl einfügen will, erreicht man dies, in Übereinstimmung mit den Konventionen für VALUELABELS, mit einem Backslash '\'. Wenn dies Label in einer Chartlegend landet, dann ist zu beachten, dass in Legends nur die erste Zeile des Labels ausgegeben wird. d.h. eine absolute Zahl nach einem '\' wird zwar in Labels, aber nicht in Legenden ausgegeben.

GESSChartFont

Syntax:

GESSCHARTFONT
[ CHARTTITLE | CHARTLEGEND | CHARTLABELS | CHARTNUMBERS 
| SCALENUMBERS ] = <fontname> SIZE <value>; 

GESSChartColors

Syntax:

GESSCHARTCOLORS = { <colorvalue> }*n ; 
<colorvalue> = $rrggbb

rr, gg, bb sind die Rot-Grün-Blau-Anteile der gewünschten Farben in hexadezimaler Schreibweise.

ChartHeader und ChartFooter

Syntax:

CHARTHEADER = <string> [ TOP | BOTTOM | VCENTER |LEFT 
| RIGHT | HCENTER ] ;

CHARTFOOTER = <string> [ TOP | BOTTOM | VCENTER |LEFT 
| RIGHT | HCENTER ] ;

Analog zu FOOTER und HEADER für die Druckausgabe von Tabellen (PS/PDF) kann den Charts eine Überschrift bzw. Unterzeile gegeben werden.