NAME
Quiq::Gd::Component::Axis - Achse eines XY-Plot
BASE CLASS
SYNOPSIS
Numerische X-Achse definieren:
$ax = Quiq::Axis::Numeric->new(
orientation => 'x',
font => Quiq::Gd::Font->new('gdSmallFont'),
length => 400,
min => 0,
max => 100,
);
Achsengrafik-Objekt erzeugen:
$g = Quiq::Gd::Component::Axis->new(axis=>$ax);
Vertikalen Platzbedarf der Achsengrafik ermitteln:
$height = $g->height;
Achsengrafik in Bild rendern:
$g->render($img,$x,$y);
DESCRIPTION
Ein Objekt der Klasse repräsentiert eine gezeichnete X- oder Y-Achse einschließlich Ticks und Labeln. Mit den Methoden $g->width()
und $g->height()
kann der Platzbedarf der Achse ermittelt werden, bevor sie konkret gezeichnet wird.
ATTRIBUTES
- axis => $ax (Pflichtargument des Konstruktors)
-
Referenz auf die Achsen-Definition.
- axisColor => $color (Default: '000000')
-
Farbe der Achse.
- labelColor => $color (Default: Farbe der Achse)
-
Farbe der Schrift.
- subTickColor => $color (Default: Farbe der Achse)
-
Farbe der Sub-Ticks.
- tickColor => $color (Default: Farbe der Achse)
-
Farbe der Ticks.
- tickDirection => $direction (Default: 'd' bei X-Achse, 'l' bei Y-Achse)
-
Richtung, die die Ticks der Achse sowie die Label gezeichnet werden. Mögliche Werte bei einer X-Achse: 'u' (up), 'd' (down). Mögliche Werte bei einer Y-Achse: 'l' (left), 'r' (right).
- tickLabelGap => $n (Default: 1)
-
Abstand zwischen Tick und Label.
- tickLength => $n (Default: 4)
-
Länge eines beschrifteten Tick.
EXAMPLES
Quelltext:
r1-gd-graphic-axis-example
X-Achse bei verschiedenen Fontgrößen
[Bild nur im Browser sichtbar]
Y-Achse bei verschiedenen Fontgrößen
[Bild nur im Browser sichtbar]
X-Achse mit logarithmischer Skala
[Bild nur im Browser sichtbar]
XY-Diagramm
[Bild nur im Browser sichtbar]
METHODS
Konstruktor
new() - Konstruktor
Synopsis
$g = $class->new(@keyVal);
Description
Instantiiere die Grafik einer X- oder Y-Achse mit den Darstellungseigenschaften @keyVal (s. Abschnitt ATTRIBUTES) und liefere eine Referenz auf das Objekt zurück.
Rendern
render() - Zeichne Achse
Synopsis
$g->render($img,$x,$y,@keyVal);
$class->render($img,$x,$y,@keyVal);
Description
Zeichne die Achse in Bild $img an Position ($x,$y). Die Postion ($x,$y) befindet sich am Anfang der jeweiligen Achsenlinie, also an der Position des Achsen-Minimums.
Y-Achse
max +
|
|
|
|($x,$y)
min x----------+ X-Achse
min max
Objektmethoden
length() - Länge der Achse
Synopsis
$length = $g->length;
Description
Liefere die Länge der Achse (= Achsenlinie) in Pixeln.
width() - Breite der Achsen-Grafik
Synopsis
$width = $g->width;
Description
Liefere die Gesamt-Breite der Achsen-Grafik in Pixeln. Im Falle einer X-Achse kann die Achsen-Grafik wegen überstehender Label-Texte links und rechts breiter sein als die Länge der Achse.
height() - Höhe der Achsen-Grafik
Synopsis
$height = $g->height;
Description
Liefere die Gesamt-Höhe der Achsen-Grafik in Pixeln. Im Falle einer Y-Achse kann die Achsen-Grafik wegen überstehender Label-Texte oben und unten höher sein als die Länge der Achse.
VERSION
1.206
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2022 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.