[Inhalt] [Zurück] [Weiter] [Thema] [Index]

SetLegende()


Syntax:

SetLegende(AxBox ax, Real rx, Real ry, String s [, ZR reihe])
ax: Die AxBox, zu der ein Legendeneintrag gesetzt wird
rx: Legendenspalte
ry: Legendenzeile
s: Legendentext an der Stelle (rx,ry) bzw. Funktion
reihe: optional: Reihe

Beispiel:

SetLegende (axunten, 1, 1, "Station")
SetLegende (axunten, 1, 1, "@LegMachen", zr)

Beschreibung:

Der Eintrag in der Spalte rx und der Zeile ry der AxBox ax wird auf s gesetzt. Die Nummerierung der Spalten und Zeilen beginnt bei 1. Diese Funktion dient der Kommunikation mit einer AxBox auf einem Canvas (siehe auch ZrInAxBox() oder Plot()). Die Breite der Legendenspalten wird automatisch anhand des breitesten Eintrags berechnet.

Neben Texten kann die Legende an jeder Stelle auch Linien und Symbole beliebiger Farbe und beliebiger Länge/Größe enthalten.

Linien werden durch den Sonderstring

$linie(Farbe,Länge,Strichmuster)

erzeugt. Farben beginnen bei 0 und sind Weiß, Schwarz, Rot, Blau, GrÜn, Gelb, Violet, Azur, Orange, Grau, Hellgrau, Braun, Dunkelgrün, Dunkelgrau, Hellrot, Dunkelrot, Blassgrün, Magenta, Honig und Hellblau in dieser Reihenfolge. Die Länge wird in cm angegeben. Die Strichmuster sind in SetLineStyle erläutert.

Symbole werden durch den Sonderstring

$sym(Farbe,Größe,Symboltyp)

erzeugt. Größe legt die Größe des Symbols fest und damit die Breite des Legendeneintrags. Die möglichen Symboltypen sind in SetSymbolTyp() aufgeführt.

Rechtecke (z.B. für Intervallzeitreihen) erzeugt man mit dem Sonderstring

$box(Farbe,Breite,Höhe,füllen)

Breite und Höhe werden in cm angegeben. füllen legt fest, ob das Rechteck gefüllt wird (True oder False).

Wird eine Reihe in eine AxBox gezeichnet (ZRInAxBox()), dann wird automatisch ein Legendeneintrag erzeugt, wenn der Legendentext nicht Char(3) ist. Die erste Zeile einer Legende wird dabei freigelassen, um Kommentierungen zu ermöglichen. In die erste Spalte der jeweiligen Zeile wird eine Linie in der Farbe der Reihe von 1 cm Länge gezeichnet, die zweite Spalte enthält den Text, den man mit ZRInAxBox festgelegt hat.

Die maximale Anzahl Zeilen, die für Zeitreihen zur Verfügung stehen, kann mit AxSetMaxLeg() gesetzt werden. Für überschüssige Zeitreihen werden dann neue Spalten erzeugt.

Der optionale Parameter reihe gibt an, zu welcher Reihe der Legendeneintrag gehört. Ohne Angabe dieses Parameters oder wenn eine ungültige Reihe übergeben wird, gehört der Eintrag zu keiner Reihe.

Wenn wie im zweiten Beispiel mittels vorangestelltem @ der Name einer Azurfunktion übergeben wird, wird diese aufgerufen, um den Texte zu erzeugen. Die Funktion muss also einen String als Ergebnis liefern und eine Zeitreihe als Parameter empfangen. Zusätzlich muss sie auch ein Intervall als Parameter empfangen, damit der gelieferte Text individuell je nach Fokus berechnet werden kann. Legendeneinträge mit Azurfunktion aber ohne Zeitreihe werden zu Leerstring gesetzt. Hier ein Beispiel für solch eine Azurfunktion.

	LegMachen (ZR zr, ZI fokus) : String
	   RETURN zr.Ort()+" "+GStr(zr.Summe(fokus))+zr.Einheit()
	END
	 



toposoft 16.04.2024