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.225
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2025 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.