<< Click to Display Table of Contents >> Navigation: Daten und Datensatz > Output aufbereiteter Daten > Grafische Darstellung > GESStabs Artist > GESStabs Artist: Anwendungsbeispiele |
Im Folgenden sind insgesamt 18 Beispiele für die Anwendung von GESStabs Artist dargestellt.
Eine Übersicht über alle Syntax-Optionen findet sich hier.
Der Kern eines GESSCHART-Statements besteht aus einer Benennung der zu berücksichtigenden Zellen der Tabelle. Außerdem muss der Zeichenbereich auf dem Papier festgelegt sein, den die Graphik ausfüllen soll. Damit ist dies das syntaktisch einfachste inhaltlich sinnvolle Chart: CHARTAREA = 15 15 170 85; // 4 ZAHLEN: X Y WIDTH HEIGHT, UNITS MM | POINTS TABLE = A BY B; GESSCHART SAMEPAGE = | COLUMNS 1 2 ROWS 1 2 ; Das syntaktisch einfachste inhaltlich sinnvolle Chart Aufgrund der Option SAMEPAGE teilen sich die Tabelle und das Chart die Druckfläche. Alternativ können die Charts entweder auf Folgeseiten ausgegeben oder in ein zweites Ausgabefile ausgelagert werden. Das Resultat ist ein horizontales Chart: wenn nichts angegeben ist, verwendet GESStabs Defaults. Fehlt die Ausrichtung, ist HORIZONTAL das Default, für die Darstellungsform RECTANGLE. Intern wurde die Anweisung also automatisch so ergänzt: GESSCHART SAMEPAGE HORIZONTAL = | FORM RECTANGLE COLUMNS 1 2 ROWS 1 2 ; Die Werte für Columns und Rows bezeichnen die Codes der in der Tabelle verwendeten Variablen. Vier Zellen der Tabelle sind für das Chart selektiert, in diesem Fall in einem mit »|« eingeleiteten ChartRange. Ein GESSCHART-Statement kann beliebig viele ChartRanges haben, die zusammen die abzubildenden Zellen benennen. Inhaltlich äquivalent zur Angabe zweier Spalten und Zeilen in einem Chartrange können diese auch einzeln aufgeführt werden. Semantisch gleichwertig ist also die Formulierung: GESSCHART HORIZONTAL = | FORM RECTANGLE COLUMNS 1 ROWS 1 | FORM RECTANGLE COLUMNS 1 ROWS 2 | FORM RECTANGLE COLUMNS 2 ROWS 1 | FORM RECTANGLE COLUMNS 2 ROWS 2 ; Zum Schlagwort HORIZONTAL: Mit wenigen Ausnahmen lassen sich Charts in solche mit vertikaler und horizontaler Ausrichtung klassifizieren. Übliche Beispiele hierfür sind Säulen-und Balkengrafik. Die GESStabs-Anweisungssprache verwendet die etwas allgemeineren Begriffe »rectangle« und »vertical« bzw. »horizontal«, weil z.B. auch in einer Liniengrafik die Skala entweder vertikal (von oben nach unten) oder horizontal angeordnet sein kann. Diese Formulierung wirkt zunächst umständlicher. Sie ist aber vorteilhaft zur gezielten Feinsteuerung der Darstellung einzelner Elemente. Man wird sie deshalb immer dann verwenden, wenn einzelne graphische Elemente speziell dargestellt werden sollen. Wenn also z.B. nur an dem Balken, der die Kategorie »sehr gut« für den Golf abbildet, die Prozentzahl außerhalb des Balkens erscheinen soll, dann kann man jetzt ergänzen: GESSCHART HORIZONTAL | FORM RECTANGLE COLUMNS 1 ROWS 1 NUMEXGRAPH | FORM RECTANGLE COLUMNS 1 ROWS 2 | FORM RECTANGLE COLUMNS 2 ROWS 1 | FORM RECTANGLE COLUMNS 2 ROWS 2 ; Neben dem roten Balken für den VW Golf erschiene jetzt die Prozentzahl »7«. Hierbei wird die Darstellung der Zahl aus der Tabelle übernommen. Mit einem FORMAT COLUMNPERCENT = "#%"; würde z.B. auch das %-Zeichen sowohl in der Tabelle als auch im Chart abgebildet. Im Default werden die Elemente der x-Achse der Tabelle in der Legende abgebildet; den Kategorien werden dabei nacheinander die Farben zugeordnet, die in den GESSCHARTCOLORS festgelegt sind. Wenn die Elemente der y-Achse in die Legende sollen, kann man das über INVERSE erreichen. Drei Änderungen: INVERSE: die Modelle in die Legende CHARTTITLE: ein Titel für das Chart GESSCHARTCOLORS: Geänderte Farben GESSCHARTCOLORS = $0000ff $ffff00 ; GESSCHART HORIZONTAL INVERSE CHARTTITLE "Dasselbe Chart INVERSE mit neuen Farben" = | FORM RECTANGLE COLUMNS 1 ROWS 1 NUMEXGRAPH | FORM RECTANGLE COLUMNS 1 ROWS 2 | FORM RECTANGLE COLUMNS 2 ROWS 1 | FORM RECTANGLE COLUMNS 2 ROWS 2 ; Noch eine Erweiterung: Man kann einem CHARTRANGE auch mehr als eine FORM zuordnen. Zum Beispiel soll der Wert für sehr gut/Golf hervorgehoben werden, indem am Ende des Balkens zusätzlich ein auf der Spitze stehendes Quadrat erscheint, mit größerer Schrift in weiß, und die Säulen sollen eine schwarze Kante bekommen: GESSCHARTFONT CHARTNUMBERS = "Helvetica-Bold" size 17; GESSCHARTFORMAT = WHITENUMBERS STROKERECT; GESSCHARTCOLORS = $0000FF $FFFF00 ; GESSCHART SAMEPAGE VERTICAL INVERSE CHARTTITLE "Dasselbe Chart VERTICAL INVERSE mit Quadrat auf Spitze" = | FORM RECTANGLE FORM SQUARE2 SYMBOLSIZE 27 COLUMNS 1 ROWS 1 NUMCENTERGRAPH | FORM RECTANGLE COLUMNS 1 ROWS 2 | FORM RECTANGLE COLUMNS 2 ROWS 1 2 ; Das einfachste Chart erweitert um Optionen für Form und Farbe |
Im folgenden Beispiel wurden vier Charts auf Basis derselben Tabelle auf einer Seite im Querformat abgebildet. Die zu verwendende Fläche wird den Charts durch eine explizite CHARTAREA-Angabe innerhalb des GESSCHART-Statements zugeteilt. Alle Charts müssen zudem die Eigenschaft SAMEPAGE haben, da sie gemeinsam auf einer Seite eines externen GESSCHARTPRINTFILE erscheinen sollen. In den Charts links oben, links unten und rechts unten sind immer dieselben Balken abgebildet, variiert wird vor allem die Platzierung der numerischen Zahlenangabe. Im Chart rechts oben wird demonstriert, dass das GESSCHARTFORMAT NUMINGRAPH bei gestapelten Balken eine andere Bedeutung hat. Im Chart links unten wird noch mittels AXISMINMAX der Abbildungsmaßstab manipuliert. In allen Charts werden gegenläufige Skalen verwendet. Die positiven Bewertungen 1:2 werden als FALLING, die negativen als RISING charakterisiert. Damit sind erstere in Grün-Schattierungen nach links geplottet, letztere blau nach rechts. Vier Charts auf einer Seite im Querformat Aber genug der Vorrede – hier das Script: GESSCHARTFORMAT = NUMINGRAPH STROKERECT ; GESSCHARTCOLORS = $00AA00 $00FF00 $00FFFF $0000FF $FF00FF, $995599, $999955, $995399; GESSCHARTFONT CHARTNUMBERS = "Helvetica-Bold" size 6; GESSCHART TITLE "Differenzierte Bewertung nach Modellen (left/right horizontal) (Zahlen in Grafik: numInGraph)" HORIZONTAL SAMEPAGE CHARTAREA 15 15 125 90 = | FORM RECTANGLE COLUMNS 1:5 ROWS 1:2 DIRECTION FALLING AXISMINMAX 0 49 | FORM RECTANGLE COLUMNS 1:5 ROWS 4:5 DIRECTION RISING ;
GESSCHARTFORMAT = NUMEXGRAPH STROKERECT ; GESSCHART CHARTTITLE "Differenzierte Bewertung nach Modellen (left/right horizontal) (Zahlen außerhalb Grafik: numExGraph)" HORIZONTAL SAMEPAGE CHARTAREA 160 15 125 90 = | FORM RECTANGLE COLUMNS 1:5 ROWS 1:2 DIRECTION FALLING | FORM RECTANGLE COLUMNS 1:5 ROWS 4:5 DIRECTION RISING ;
GESSCHARTFORMAT = NUMCENTERGRAPH STROKERECT ; GESSCHART CHARTTITLE "Differenzierte Bewertung nach Modellen (left/right horizontal) (Zahlen exakt am Wert: numCenterGraph)" HORIZONTAL SAMEPAGE CHARTAREA 15 108 125 90 = | FORM RECTANGLE COLUMNS 1:5 ROWS 1:2 DIRECTION FALLING | FORM RECTANGLE COLUMNS 1:5 ROWS 4:5 DIRECTION RISING ;
GESSCHARTFORMAT = NUMINGRAPH STROKERECT ; GESSCHARTFONT CHARTNUMBERS = "Helvetica-Bold" size 8; GESSCHART TITLE "Differenzierte Bewertung nach Modellen (left/right horizontal stacked) (Zahlen zentral in Balkenfläche: numInGraph + stacked)" HORIZONTAL STACKED SAMEPAGE CHARTAREA 160 108 125 90 = | FORM RECTANGLE COLUMNS 1:5 ROWS 1:2 DIRECTION FALLING | FORM RECTANGLE COLUMNS 1:5 ROWS 4:5 DIRECTION RISING ; |
Durch Anordnung mehrerer Charts unterschiedlicher Diagrammtypen zu verschiedenen Aspekten der Daten einer Tabelle kann man die Aufmerksamkeit des Lesers lenken. Mit den Charts die Aufmerksamkeit lenken Das Script: GESSCHARTFORMAT = STROKERECT; GESSCHART CHARTTITLE "Differenzierte Bewertung nach Modellen (horizontal)" CHARTAREA 15 15 87 180 = | COLUMNS 1:5 ROWS 1:5 ;
GESSCHARTFORMAT = ; GESSCHARTCOLORS = $009900 $FF0000 $00; GESSCHART CHARTTITLE "Zusammengefasste Bewertung nach Modellen (horizontal)" CHARTAREA 105 15 87 180 SAMEPAGE = | COLUMNS 1:5 ROWS 65002 65003 ; GESSCHARTFORMAT = STROKERECT; GESSCHARTCOLORS = $AAFFAA $FFAAAA $AAAAFF $FFFFAA $AAFFFF; GESSCHART CHARTTITLE "Skalenmittelwerte Bewertung nach Modellen (vertikal)" INVERSE CHARTAREA 195 15 87 90 SAMEPAGE VERTICAL = | COLUMNS 1:5 ROWS 2/1 AXISMINMAX 0 4 ;
GESSCHART CHARTTITLE "Anteil von ’sehr schlecht’" INVERSE CHARTAREA 195 107 87 88 SAMEPAGE VERTICAL = | COLUMNS 1:5 ROWS 5 ; |
Wir bleiben bei einem optisch ähnlichen Problem wie in 2b: Mehrere Charts nebeneinander. Für ca. 20 Modelle sind die Skalenmitttelwerte, die Top-2-Boxes und die Bottom-2-Boxes darzustellen. Alle Maßzahlen sind in je einem Chart abzubilden. Wir stellen diese drei Charts auf einer Querseite parallel nebeneinander. Um die Lesbarkeit der abzubildenden Zahlenwerte zu verbessern, sollen die Charts optisch möglichst 'leicht' sein. Wir wollen deshalb auf den Chartrahmen und die Skalen verzichten: NOSCALE und NOFRAME als Chartformats. Darstellung reduzieren, Lesbarkeit erhöhen Chart 1: Für die Mittelwerte wählen wir einen neutralen Farbton, ein Grau, das ins Türkis spielt. Zur Darstellung scheint eine Liniengrafik mit stehenden Quadraten angemessen. Die numerischen Werte sollen schwarz auf hellem Grund, zentral in der Mitte der Quadrate erscheinen. Chart 2: Die Top-2-Boxes werden in einem dezenten Grünton dargestellt. Die Prozentwerte sollen in weiß (WHITENUMBERS) im Zentrum der ausgefüllten Kreise (CIRCLE) stehen, die als Symbol ausgewählt wurden. Chart 3: Die Prozentwerte der Bottom-2-Boxes werden mit einem Rotton in Balken (RECTANGLE) dargestellt. Die Prozentwerte sollen außerhalb der Balken gedruckt werden. Hier das dazugehörige Script: GESSCHARTCOLORS = $006644; GESSCHART CHARTTITLE "Mittelwerte horizontal nach Modellen: Line, Quadrat mit Zahlenangabe" CONTENTKEY "Mittelwerte, Top-2, Bottom-2 in drei Charts nebeneinander" CHARTAREA 15 15 87 180 SAMEPAGE HORIZONTAL INVERSE = | FORM LINE ROWS 1:22 COLUMNS 2/1 LINEWIDTH 1.5 SYMBOLSIZE 12 ; GESSCHARTFONT CHARTNUMBERS = "HELVETICA-BOLD" SIZE 8; GESSCHARTFORMAT = NUMCENTERGRAPH WHITENUMBERS NOFRAME NOSCALE; GESSCHARTCOLORS = $229955; GESSCHART CHARTTITLE "Top-2-Box horizontal nach Modellen: Bullet mit Zahlenangabe (weiß)" CHARTAREA 105 15 87 180 SAMEPAGE HORIZONTAL INVERSE = | FORM CIRCLE ROWS 1:22 COLUMNS 65002 SYMBOLSIZE 10 ; GESSCHARTFONT CHARTNUMBERS = "HELVETICA" SIZE 8; GESSCHARTFORMAT = NUMEXGRAPH NOFRAME NOSCALE; GESSCHARTCOLORS = $EE6699; GESSCHART CHARTTITLE "Bottom-2-Box horizontal nach Modellen: Balken mit Zahlenangabe außerhalb" CHARTAREA 195 15 87 180 SAMEPAGE HORIZONTAL INVERSE = | FORM RECTANGLE ROWS 1:22 COLUMNS 65003 SYMBOLSIZE 6 ; Auf Codes, die nicht zur ersten Variable in der X- bzw. Y-Richtung der Tabelle gehören, kann man mit dem Konstrukt <varno>/<code> zugreifen. COLUMNS 2/1 (Zeile 7 des Beispiel-Codes) bedeutet hier: Code 1 der zweiten Variablen im Kopf. COLUMNS 2/1:5 bedeutet hier: Code 1 bis 5 der zweiten Variablen im Kopf. (2/1:2/5 wäre auch erlaubt.) Die Zeichenflächen sind in allen drei Fällen gleich dimensioniert: 87 mm breit und 180 mm hoch. Die linke untere Ecke ist jeweils in der x-Dimension unterschiedlich: 15, 105 oder 195 mm von linken Rand entfernt, y ist bei allen Charts gleich: 15 mm vom unteren Rand entfernt. Alle Charts sind vom Typ HORIZONTAL und INVERSE, d.h. die Kategorien aus dem Kopf der Tabelle landen in den Legenden, die Labels aus der Vorspalte werden als Beschriftung der y-Achse der Tabelle ausgegeben. Hier ist die dazugehörige Tabelle abgebildet. Die Tabelle zum Chart |
Denselben Sachverhalt (dieselben Zahlen aus derselben Tabelle aus Beispiel 3a) können wir auch anders optisch aufbereiten. Für die Darstellung von Top- und Bottom-Boxes ist häufig die Darstellung als gegenläufige graphische Elemente vorteilhaft. Die beiden rechten Teilcharts werden durch einen Chart aus Balken nach links und nach rechts ersetzt. Wie in der Beschriftung der Tabelle steht (siehe oben), ist diese nach dem Anteil der Top-2-Box (sehr gut, gut) sortiert. Diese Sortierung soll in den Graphiken auch verwenden. Dafür müssen wir unten bei der Formulierung des GESSCHART-Statements die Option POSITION verwenden, um die Zeilen der Tabelle in der abgebildeten Reihenfolge in die Graphik zu importieren. Balken nach links und rechts GESSCHARTCOLORS = $006644; GESSCHARTFORMAT = NUMCENTERGRAPH NOFRAME NOSCALE; GESSCHART CHARTTITLE "Mittelwerte horizontal nach Modellen: Line, Quadrat mit Zahlenangabe" KEY "Mittelwerte, Top-2, Bottom-2 in drei Charts nebeneinander" CHARTAREA 15 15 80 180 HORIZONTAL INVERSE = | FORM LINE FORM SQUARE1 ROWS POSITION 1:20 COLUMNS 2/1 LINEWIDTH 1.5 SYMBOLSIZE 12 ; GESSCHARTFONT CHARTNUMBERS = "HELVETICA-BOLD" SIZE 8; GESSCHARTFORMAT = NUMEXGRAPH WHITENUMBERS NOFRAME NOSCALE OVERLAPPED; GESSCHARTCOLORS = $229955 AA5577; GESSCHART CHARTTITLE "Gegenläufige Balken: Top-2-Box nach links + grün, Bottom-2-Box nach rechts + rot, Zahlen außerhalb der Balken" CHARTAREA 110 15 164 180 SAMEPAGE HORIZONTAL INVERSE = | FORM RECTANGLE ROWS POSITION 1:20 COLUMNS 65002 LINEWIDTH 3 SYMBOLSIZE 10 DIRECTION FALLING | FORM RECTANGLE ROWS POSITION 1:20 COLUMNS 65003 LINEWIDTH 3 SYMBOLSIZE 10 DIRECTION FALLING ; |
Ergänzend zu Beispiel 3b: Die gegenläufigen Achsen lassen sich natürlich auch mit Liniengraphik kombinieren. Das sieht dann so aus. Inhaltlich erscheint die Version mit den gegenläufigen Balken eher geeignet, die Sachverhalte schnell zu erkennen. Liniengrafik kombiniert mit gegenläufigen Achsen Auch hier das Script: GESSCHARTCOLORS = $006644; GESSCHARTFORMAT = NUMCENTERGRAPH NOFRAME NOSCALE; GESSCHART CHARTTITLE "Mittelwerte horizontal nach Modellen: Line, Quadrat mit Zahlenangabe" CHARTAREA 15 15 80 180 HORIZONTAL INVERSE = | FORM LINE FORM SQUARE1 ROWS POSITION 1:20 COLUMNS 2/1 LINEWIDTH 1.5 SYMBOLSIZE 12 ; GESSCHARTFONT CHARTNUMBERS = "Helvetica-Bold" SIZE 8; GESSCHARTFORMAT = NUMCENTERGRAPH NOFRAME NOSCALE OVERLAPPED WHITENUMBERS; GESSCHARTCOLORS = $229955 AA5577; GESSCHART CHARTTITLE "Gegenläufige Linien: Top-2-Box nach links + grün, Bottom-2-Box nach rechts + rot, Zahlen in weiß zentral in den Kreisen bzw. Quadraten" CHARTAREA 110 15 164 180 SAMEPAGE HORIZONTAL INVERSE = | FORM LINE FORM CIRCLE ROWS POSITION 1:20 COLUMNS 65002 LINEWIDTH 3 SYMBOLSIZE 9 DIRECTION FALLING | FORM LINE FORM square2 ROWS POSITION 1:20 COLUMNS 65003 LINEWIDTH 3 SYMBOLSIZE 9 DIRECTION RISING |
Eine weitere Möglichkeit, dem Betrachter plastisch vor Augen zu führen, ob die positiven oder die negativen Einschätzung die Oberhand haben, ist es, die beiden Werte ohne Versatz (OVERLAPPED) mit deutlich unterscheidbaren Symbolen auf derselben Skala darzustellen. Salopp gesagt: Ist das rote Quadrat im grünen Bereich, überwiegen die positiven Beurteilungen. GESSCHARTFONT CHARTNUMBERS = "Helvetica-Bold" SIZE 7; GESSCHARTFORMAT = NOFRAME OVERLAPPED WHITENUMBERS; GESSCHARTCOLORS = $99ff99 $ff0000; GESSCHART CHARTAREA 110 15 164 180 SAMEPAGE HORIZONTAL INVERSE = | FORM RECTANGLE ROWS POSITION 1:20 COLUMNS 65002 | FORM SQUARE2 ROWS POSITION 1:20 COLUMNS 65003 SYMBOLSIZE 11 NUMCENTERGRAPH ; Mit unterschiedlichen Symbolen auf derselben Skala lässt sich der Vergleich betonen |
Wie bereits in 3d vorgeführt, besteht eine weitere Methode, Top-Boxes mit Bottom-Boxes zu vergleichen, darin, sie auf derselben Skala überlappend (OVERLAPPED) darzustellen, und dabei optisch stark abweichende graphische Elemente zu verwenden. Das folgende Beispiel zeigt das Prinzip in einer Säulengraphik. Die Bottom-Box wird durch einen auffälligen roten Punkt markiert. Es ist leicht erkennbar, ob die positiven oder die negativen Nennungen überwiegen: Liegt der rote Punkt innerhalb der Säule, ist der Prozentsatz der negativen Nennungen kleiner als die positiven. Befindet sich der rote Punkt oberhalb der Säule, überwiegen bei diesem Modell die negativen Nennungen. Ins Auge fallend: Vergleich von Top- und Bottom-Boxes
GESSCHARTFORMAT = STROKERECT OVERLAPPED; GESSCHARTCOLORS = $CCFFFF $FF0000; GESSCHART VERTICAL = | FORM RECTANGLE COLUMNS 1 ROWS 65002 COLOR $AADDDD | FORM RECTANGLE COLUMNS 2/1:5 ROWS 65002 | FORM CIRCLE COLUMNS 1 2/1:5 ROWS 65003 SYMBOLSIZE 13 ; Die Säule für das Total wird farblich leicht abgesetzt. Hierfür dient die Ergänzung COLOR $AADDDD im ersten Chartrange (erster Pipe). Im Übrigen wird der Effekt durch das OVERLAPPED im GESSCHARTFORMAT erreicht. |
Abbilden nicht ausgewiesener Informationen Das in GESStabs integrierte Chartmodul GESSCHART hat intern Zugriff auf weitere Informationen der Tabellenzählzellen, auch solche, die nicht abgedruckt sind. An einer Stelle macht die Software davon Gebrauch: Mittelwerte und Prozentwerte können in der Abbildung um eine Darstellung des 95% Konfidenzintervalls ergänzt werden. Im obenstehenden Chart werden die Skalen-Mittelwerte als um den Mittelwert liegende symbolisierte Abbildungen der Gauss-Standardnormalverteilung dargestellt. Die entsprechenden Berechnungen werden von der Software automatisch angestellt, wenn die Schlüsselwörter GAUSS oder ELLIPSIS im Script verwendet werden, sei es als GESSCHARTFORMAT oder als FORM im CHARTRANGE. GESSCHARTFORMAT = NUMCENTERGRAPH -ZEROBASED; GESSCHART HORIZONTAL INVERSE = | FORM GAUSS COLUMNS 2/1:5 ROWS 2/1 ; |
Im Beispiel 5a wirken die Konfidenzintervalle optisch sehr groß. Das entsteht durch den Abbildungmaßstab, wenn die Differenzen zwischen den Einzelwerten klein sind. Bei Darstellungen von Prozentwerten bezieht GESStabs den Nullpunkt immer in die Abbildung ein: Prozente haben in dem Sinne einen »natürlichen« Ursprung: 0%. Gleiches gilt für die Darstellung von Säulen oder Balken: Die Balken- bzw. Säulenlänge ist nur dann proportional dem dargestellten numerischen Wert, wenn die Skala bei Null beginnt. In diesem Fall wurde das GESSCHARTFORMAT ZEROBASED verwendet, um die Skala bei Null beginnen zu lassen. Null-basierte Skala Das Script: GESSCHARTFORMAT = NUMCENTERGRAPH ZEROBASED NOFRAME; GESSCHARTCOLORS = $AAAAFF; GESSCHART CONTENTKEY "Ellipsen für Konfidenzintervalle" VERTICAL INVERSE = | FORM ELLIPSIS COLUMNS 2/1:5 ROWS 2/1 ; |
Auch in diesem Beispiel mit einem Konfidenzintervall ist der 0-Wert in die Skala einbezogen. In diesem Fall automatisch, weil als Basis-Darstellung RECTANGLE gewählt wurde: Der Balken für 26% ist so zweimal so lang wie der für 13%. Die Gausskurve ist im Outline dargestellt (GAUSSO). Das ist die dezenteste Form. Der Skalenwert ist in kleiner Schrift genau in Höhe des Wertes eingedruckt (NUMCENTERGRAPH). Automatische Null-basierte Skala Das Script: GESSCHARTFORMAT = STROKERECT NOFRAME; GESSCHARTCOLORS = $AADDAA $CCFFCC $EEEEEE $FFCCCC $DDAAAA; GESSCHART VERTICAL = | FORM RECTANGLE FORM GAUSSO NUMCENTERGRAPH COLUMNS 1:5 ROWS 1:5 ; |
Beispiel 6 zeigt gestapelte Balken. Die numerische Beschriftung ist hier relativ groß in weiß dargestellt, das Format NUMINGRAPH wird bei Darstellungen der Art STACKED in die Mitte der Stapelfläche gerückt. Gestapelte Balken Das Script: GESSCHARTFONT CHARTNUMBERS = "Helvetica" SIZE 13; GESSCHARTCOLORS = $66EE66 $559955 $AAAAAA $BB5555 $FF4444; GESSCHARTFORMAT = NUMINGRAPH WHITENUMBERS STROKERECT; GESSCHART CHARTTITLE "Differenzierte Bewertung nach Modellen (stacked-horizontal) incl. weiße Zahlen" KEY "Modellbewertung stacked-horizontal" HORIZONTAL STACKED = | FORM RECTANGLE COLUMNS 1:5 ROWS 1:3 | FORM RECTANGLE COLUMNS 1:5 ROWS 4:5 ; |
X/Y-Plots werden durch das Schlüsselwort XYPLOT angefordert. Ein XYPLOT muss immer genau zwei Chartranges haben, eingeleitet durch | (Pipe). Einer muss mit DIRECTION VERTICAL, der andere mit DIRECTION HORIZONTAL gekennzeichnet sein. Unten werden zwei Varianten, in unterschiedlicher Ausrichtung (DIRECTION), gezeigt. Der einzige weitere syntaktische Unterschied zwischen den beiden Charts sind die Anforderungen zur Betextung: Die Schlüsselwörter NUMCENTERGRAPH und NUMEXGRAPH sind hier etwas zweckentfremdet: sie steuern die Platzierung der Legendentexte relativ zur Platzierung der CIRCLE, die hier Koordinaten der Kreuzung der beiden Dimensionen angeben. X/Y-Plot Performance vs. Importance X/Y-Plot Importance vs. Performance Die Scripts: GESSCHARTFORMAT = NUMCENTERGRAPH; GESSCHART CONTENTKEY "X/Y-Plot Performance vs. Importance" = | FORM XYPLOT ROWS 1:5 COLUMNS 1 SYMBOLSIZE 15 DIRECTION VERTICAL | FORM XYPLOT ROWS 1:5 COLUMNS 2 SYMBOLSIZE 15 DIRECTION HORIZONTAL ; und GESSCHARTFORMAT = NUMEXGRAPH; GESSCHART CONTENTKEY "X/Y-Plot Importance vs. Performance" = | FORM XYPLOT ROWS 1:5 COLUMNS 1 SYMBOLSIZE 15 DIRECTION HORIZONTAL | FORM XYPLOT ROWS 1:5 COLUMNS 2 SYMBOLSIZE 15 DIRECTION VERTICAL ; |
In GESSCHART können beliebige FORM-Elemente miteinander kombiniert werden. Oben wurde dies bei Linien und Symbolen mittels CIRCLE etc. demonstriert. Wenn Linien mit Säulen oder Balken verbunden werden sollen, sieht das in der unkorrigierten Version etwas ungelenk aus, da eine normale LINE die Zentralpunkte eines Datenpunktes verbindet; das sind in diesem Fall die Mitten der oberen Kanten der RECTANGLE. Hier erwartet das Auge eine Verbindung der Kanten der Rechtecke, d.h. die Graphikerzeugung muss die Dicke der Rechtecke in Rechnung stellen. Hierfür gibt es einen speziellen Linientyp, die RECTLINE. RECTLINE verwendet bei Säulen die Koordinaten des rechten und linken Endes der oberen Kanten. In der Anwendung durch den Benutzer unterscheidet sie sich nicht von LINE. Insbesondere kann man ihr Farbe, Dicke und Strichform zuweisen. Außerdem kann man im Einzelnen bestimmen, welche der gestapelten Säulenelemente denn verbunden werden sollen. Optisch sinnvoll ist diese Darstellung in Verbindung mit gestapelten Elementen (STACKED). Auf diese Eigenschaft wurde im untenstehenden Chart noch mit einer INFOBOX hingewiesen. Ein Chart kann beliebig viele INFOBOX beherbergen, die man frei platzieren kann und mit Hintergrundfarbe und Text in gewünschtem Font und Farbe versehen kann. Säulenstapel Das Script: GESSCHARTFONT CHARTNUMBERS = "Helvetica-Bold" size 6; GESSCHARTFORMAT = STROKERECT NOFRAME NOWHITEBACK; GESSCHARTCOLORS = $ff0000 $ff8888 $999911 $bbbb11 $44ff44 $229922 ; GESSCHARTCOLORS = $229922 $44ff44 $ffff00 $dddd00 $ff8888 $ff0000 ; GESSCHART VERTICAL STACKED = | FORM RECTANGLE COLUMNS 1 : 5 ROWS 5 LINEWIDTH 0.1 NUMINGRAPH FORM RECTLINE LINECOLOR 0 LINEDASH 5 | FORM RECTANGLE COLUMNS 1 : 5 ROWS 4 LINEWIDTH 0.1 NUMINGRAPH FORM RECTLINE LINECOLOR 0 LINEDASH 4 | FORM RECTANGLE COLUMNS 1 : 5 ROWS 3 LINEWIDTH 1 NUMINGRAPH FORM RECTLINE LINECOLOR $FF0000 LINEDASH 3 | FORM RECTANGLE COLUMNS 1 : 5 ROWS 2 LINEWIDTH 1 NUMINGRAPH FORM RECTLINE LINECOLOR 0 LINEDASH 2 | FORM RECTANGLE COLUMNS 1 : 5 ROWS 1 LINEWIDTH 0.1 NUMINGRAPH FORM RECTLINE LINECOLOR 0 LINEDASH 1 ; Die einzelnen Zeilen der Tabelle werden als getrennte Chartranges beschrieben. Das eröffnet die Möglichkeit, den einzelnen RECTLINEs unterschiedliche Muster der Strichelung (LINEDASH) und/oder unterschiedliche Farben (LINECOLOR) zu geben. Das demonstriert die Flexibilität der Syntax: Man kann entweder eine möglichst einfache und kompakte Schreibweise verwenden, oder man kann einzelnen Elementen sehr differenziert spezielle graphische Eigenschaften zuordnen. |
Es ist möglich, mittels INFOBOX weitere optische Elemente frei auf der Graphikfläche zu verteilen. In diesem Beispiel, das keinen Anspruch auf Sinnhaftigkeit erhebt, wurde die Legende für »schlecht« aus dem Legendenset entfernt und einzeln neben die Graphik positioniert. Die neu erzeugte Legende besteht aus zwei Rechtecken, der farbigen Fläche und dem Legendentext, etwas abgewandelt, aus »schlecht« wurde »Nicht mehr gut«. Die Entfernung der Legende aus dem Set geschieht mit dem Schlüsselwort NOLEGEND im entsprechenden Chartrange. Außerdem kann man dem Wunsch nachgeben, seinen Senf als Text zur Graphik hinzuzufügen. Auch dieses Element besteht aus zwei Einzelanweisungen, um die Schriftfarbe und den Font gezielt anzusteuern. Auch das Label für VW Golf wird durch einen etwas auffälligeren Text ersetzt; hierfür wird zunächst die Druckfläche durch BACKGROUND $FFFFFF weiß überdeckt. Legendengestaltung Das Script: GESSCHART VERTICAL STACKED = | INFOBOX -60 60 4 2 BACKGROUND $DDDD00 | INFOBOX -55 60 0 0 TEXT 0 0 "Nicht mehr gut" FONT Helvetica SIZE 9
| INFOBOX 0 0 50 8 TEXT 2 4 "Mein Senf dazu" BACKGROUND $FFFFDD FOREGROUND $FF0000 FONT Helvetica SIZE 14 STROKERECT | INFOBOX 0 0 50 8 TEXT 2 0.5 "Was in klein und schwarz" FONT Helvetica SIZE 7
| INFOBOX 17 15 22 7 TEXT 0 0.0 "VW Golf" BACKGROUND $FFFFFF FONT "Helvetica-Bold" SIZE 16
| FORM RECTANGLE COLUMNS 1:5 ROWS 5 LINEWIDTH 0.1 NUMINGRAPH FORM RECTLINE LINECOLOR 0 LINEDASH 5 | FORM RECTANGLE COLUMNS 1:5 ROWS 4 LINEWIDTH 0.1 NUMINGRAPH FORM RECTLINE LINECOLOR 0 LINEDASH 4 NOLEGEND | FORM RECTANGLE COLUMNS 1:5 ROWS 3 LINEWIDTH 1 NUMINGRAPH FORM RECTLINE LINECOLOR $FF0000 LINEDASH 3 | FORM RECTANGLE COLUMNS 1:5 ROWS 2 LINEWIDTH 1 NUMINGRAPH FORM RECTLINE LINECOLOR 0 LINEDASH 2 | FORM RECTANGLE COLUMNS 1:5 ROWS 1 LINEWIDTH 0.1 NUMINGRAPH FORM RECTLINE LINECOLOR 0 LINEDASH 1 ; |
Kombination von Tabelle und Charts Das Beispiel zeigt, wie man Charts neben einer Tabelle platzieren kann, um bestimmte Aspekte hervorzuheben. Zunächst ist die Fläche des Papiers zwischen der Tabelle und den Charts aufzuteilen. Hierfür wurde ein #EXPAND verwendet: #expand #tablesplus margins = left 10 right 80 top 25 bottom 10; CHARTAREA = 222 10 65 185; Da im Laufe eines Tabellenbandes hin- und hergeschaltet werden muss zwischen Seiten, die nur Tabellen, nur Charts oder beides enthalten, gibt es auch entsprechende #EXPANDs für #TABLESONLY etc. GESStabsArtist ordnet die Charts intern von unten nach oben übereinander an, da der zur Verfügung stehende Platz höher als breit ist. Deshalb kommt das Script für den PIE vor der Darstellung der Gewichtungseffekte. Hier der PIE: #PARTYCOLORS GESSCHART PIE100 MINIMUM 5 CHARTTITLE "PERSONENGEWICHTET >=5%" CELLELEMENT COLUMNPERCENT PIESTARTANGLE 90 SAMEPAGE NUMEXGRAPH NOLABEL = | COLUMNS POSITION 2 ROWS POSITION 1 DIRECTION FALLING | COLUMNS POSITION 2 ROWS POSITION 2 3 4 DIRECTION RISING | COLUMNS POSITION 2 ROWS POSITION 5 DIRECTION FALLING | COLUMNS POSITION 2 ROWS POSITION 6 DIRECTION RISING | COLUMNS POSITION 2 ROWS POSITION 7 DIRECTION FALLING ; Der Typ des Charts ist PIE100 mit der Spezifizierung MINIMUM 5. Alle Zellen mit einem Wert unter 5 sollen nicht in die Graphik eingehen. Es soll aber trotzdem der volle Kreis dargestellt werden. Letztere Anpassung erreicht man mit PIE100. Die Tabelle enthält zwei CELLELEMENTS. Der PIE soll sich auf die Spaltenprozente beziehen, deshalb wird mit der CELLELEMENT-Option COLUMNPERCENT ausgewählt. Der PIE beginnt standardmäßig bei einem Winkel von 0° gegenüber der x-Achse. Die Parteien sollen aber rechts/links von der oberen Mitte angeordnet werden. Das ist der PIESTARTANGLE 90. Mit NUMEXGRAPH werden Zahlen außerhalb der Zeichenflächen angefordert. Etwas Aufwand erfordert die Anordnung der Parteien im naiven Rechts/Links Schema. Das Syntaxelement hierfür ist die DIRECTION: FALLING ist gegen den Uhrzeigersinn, RISING ist mit dem Uhrzeigersinn. Die gewichteten Zahlen entnehmen wir alle der zweiten Spalte der Tabelle, die Parteien sind den Zeilen 1 bis 7 zu entnehmen. GESSCHARTFONT CHARTLABELS = "HELVETICA-NARROW" SIZE 7.5; GESSCHARTFORMAT = ; #STDCOLORS GESSCHART INVERSE CELLELEMENT PHYSCOLDELTA CHARTTITLE "Effekte von Gewichtung auf Parteianteile" SAMEPAGE = | FORM LINE COLUMNS POSITION 1 ROWS POSITION 1 : 8 | FORM CIRCLE SYMBOLSIZE 2.5 COLUMNS POSITION 2:3 ROWS POSITION 1 : 8 ; Kommen wir zur Darstellung der Gewichtungseffekte, die numerisch mit dem CELLELEMENT PHYSCOLDELTA vorliegen, dieses CELLELEMENT wird deshalb an dieser Stelle explizit benannt. Die Parteien sind in den Zeilen 1 bis 8 abgebildet: ROWS POSITION 1:8. Die inhaltlich interessierenden Effekte finden wir in den Spalten 2 und 3: COLUMNS POSITION 2:3. Wir stellen die Datenpunkte in Form von kleinen Kreisen dar: FORM CIRCLE SYMBOLSIZE 2.5. Da wir gern noch eine Art Nulllinie haben wollen, zeigen wir die Delta-Werte zur ungewichteten Darstellung in der Spalte 1 als Linie: FORM LINE COLUMNS POSITION 1. |
Im folgenden Beispiel wird ein Ausschnitt einer Tabelle, die die gewählte Partei bei der vorangegangenen Wahl im Kopf und die aktuelle Wahl in der Vorspalte zeigt, in Form von Tortendiagrammen für die drei wichtigsten Parteien visualisiert. Die Tabellenzellen enthalten Spalten- und Zeilenprozente. Die Spaltenprozente in der CDU-Spalte der Tabelle geben an, in welchen Anteilen die ehemaligen Wähler der CDU den Parteien ihre Stimme gegeben haben: 62,2% sind bei der CDU geblieben, 23,1% sind zur SPD gegangen usw. Die ehemaligen SPD-Wähler sind zu 8,5% zur CDU gewechselt, 65,5% sind der SPD erhalten geblieben, 16,9% sind zu den Grünen gewechselt. Diese Werte finden wir in den drei Torten im linken Chart wieder. Die drei rechten Charts zeigen umgekehrt, von welchen Parteien die heutigen Wähler der Parteien stammen. Dies sind die Spaltenprozente in den Zeilen der Tabelle; z.b. stammen 14,4% der Grünenwähler von der CDU, 33,1% von der SPD, und 34,3% haben schon bei der vorangegangenen Wahl Grün gewählt. Tabelle: Unterschiedliche Informationen in der Gegenüberstellung
Charts: Unterschiedliche Informationen in der Gegenüberstellung Und so wird’s gescriptet: GESSCHART PIE PIESTARTANGLE 90 CELLELEMENT COLUMNPERCENT NUMEXGRAPH CHARTTITLE "Ehemalige Parteiwähler von CDU, SPD und Grüne/GAL wählen:" = | COLUMNS POSITION 2:4 ROWS POSITION 1:8 ; GESSCHART PIE SAMEPAGE PIESTARTANGLE 90 NUMEXGRAPH CELLELEMENT ROWPERCENT INVERSE CHARTTITLE "Die Wähler von CDU, SPD und Grüne/GAL kommen von:" = | COLUMNS POSITION 2:9 ROWS POSITION 1:3 ; |
Die Tabelle enthält Zahlen zu verschiedenen Merkmalen Alter und Geschlecht sind natürlich (wie auch in vielen anderen Gebieten der Sozial- und Marktforschung) wichtige strukturierende Merkmale. Man sieht dies sehr klar unten in den beiden linken Charts. Der mittlere Chart zeigt deutlich den Altersgang der Parteien, der bei der CDU und den Grünen am stärksten ausgeprägt ist. Die rechte Graphik illustriert auch das unterschiedliche Verhalten der Parteigänger, zu welcher Tageszeit diese zur Wahl ins Wahllokal kommen. Die Charts stellen mehrere Merkmale augenfällig zusammen Das Script: #PARTYCOLORS GESSCHART CHARTTITLE "Parteianteile nach Geschlecht" = | FORM SQUARE2 FORM LINE LINEWIDTH 0.5 SYMBOLSIZE 5 COLUMNS POSITION 2:3 ROWS POSITION 1:4 | FORM SQUARE1 FORM LINE LINEWIDTH 0.5 SYMBOLSIZE 5 COLUMNS POSITION 2:3 ROWS POSITION 5:5 ; GESSCHART VERTICAL SAMEPAGE NUMBERSINCOLOR NUMEXGRAPH OVERLAPPED CHARTTITLE "Parteianteile in Altergruppen" = | FORM SQUARE1 FORM LINE LINEWIDTH 0.5 SYMBOLSIZE 5 COLUMNS POSITION 5:9 ROWS POSITION 1:4 | FORM SQUARE1 FORM LINE LINEWIDTH 0.5 SYMBOLSIZE 5 COLUMNS POSITION 5:9 ROWS POSITION 5:5 ; GESSCHART CHARTTITLE "Parteianteile in den Zeitblöcken" = | FORM CIRCLE FORM LINE COLUMNS 6/1:8 ROWS POSITION 1:4 | FORM CIRCLE FORM LINE COLUMNS 6/1:8 ROWS POSITION 5:5 |
Informationen vertiefen Auf der oben wiedergegebenen Druckseite sind unterhalb der Tabelle drei Charts angeordnet, die jeweils unterschiedliche Aspekte der Tabelle in Form von Kuchendiagrammen wiedergeben. Im mittleren Chart vom Typ PIE werden in fünf Kuchendiagrammen die Top- und Bottom-Boxes abgebildet. Die Tortenstücke sind so angeordnet, dass die Anteile der (positiven) Top-Box links von der Senkrechten (PIECHARTANGLE 90) liegen, die Bottom-Box rechts (DIRECTION FALLING). In die Torte gehen nur die selektierten Anteile ein, die nicht angesprochenen Prozentanteile bleiben nach unten weiß (Typ PIE, im Gegensatz zu PIE100). Die Top-Boxes werden in der linken Graphik weiter analysiert. Die Anteile ergeben hier einen 360° Kreis, obwohl die Summe der Prozente nicht 100% ist, da als Typ PIE100 ausgewählt wurde. Die Darstellung der Kreissegmente beginnt wieder oben in der Senkrechten (PIECHARTANGLE 90). Die bessere Bewertung ist links angeordnet. Für die positive TopBox (65002) gilt die Direction RISING, da dies der Default ist: In dieser Zeile ist kein FALLING verlangt. RISING ist eine Drehung gegen den Uhrzeigersinn, ganz so wie in der Schulgeometrie, wo positive Winkel ab der x-Achse gegen den Uhrzeigersinn gemessen werden. Genauso bewirkt PIESTARTANGLE 90, dass die Verteilung von Tortenstücken oben beginnt: von der x-Achse 90° gegen den Uhrzeigersinn gedreht. Die Tortenstücke dieser Graphik sind mit EXPLODE 2 voneinander abgesetzt. Spiegelbildlich hierzu sind rechts die Bottom-Boxes differenziert dargestellt. Die Tortenstücke sind (NUMINGRAPH) mit den Prozentwerten aus der Tabelle beschriftet. Die Zahlen stehen also im Inneren der Kreissegmente. Wenn die Winkel sehr klein werden, wird die Zahlenausgabe unterdrückt. Das Script: TABLE = k BY s; GESSCHARTCOLORS = $229922 $FF0000 ; GESSCHART PIE PIESTARTANGLE 90 CHARTTITLE "Anteile Top-2 und Bottom-2 Boxes" CHARTAREA 100 0 80 115 = | FORM PIE COLUMNS 1:5 ROWS 65002 EXPLODE 0 | FORM PIE COLUMNS 1:5 ROWS 65003 DIRECTION FALLING ; GESSCHARTCOLORS = $229922 $55EE55 ; GESSCHART PIE100 PIESTARTANGLE 90 CHARTTITLE "Struktur Top-2-Box" CHARTAREA 10 0 80 115 = | FORM PIE COLUMNS 1:5 ROWS 1 EXPLODE 2 | FORM PIE COLUMNS 1:5 ROWS 2 EXPLODE 2 DIRECTION FALLING ; GESSCHARTCOLORS = $FFAAAA $FF3333 ; GESSCHART PIE100 PIESTARTANGLE 90 CHARTAREA 190 0 80 115 = | FORM PIE COLUMNS 1:5 ROWS 5 EXPLODE 2 DIRECTION FALLING | FORM PIE COLUMNS 1:5 ROWS 4 EXPLODE 2 ; |