NAME
Quiq::Axis::Numeric - Definition einer numerischen Achse
BASE CLASS
SYNOPSIS
$ax
= Quiq::Axis::Numeric->new(
orientation
=>
$str
,
# 'x', 'y'
font
=>
$font
,
length
=>
$int
,
min
=>
$float
,
max
=>
$float
,
logarithmic
=>
$bool
,
minTickGap
=>
$int
,
debug
=>
$bool
,
);
# Haupt-Ticks
@ticks
=
$ax
->ticks;
DESCRIPTION
Ein Objekt der Klasse repräsentiert die Definition einer numerischen Achse eines XY-Plots. Die Achse kann eine X- oder eine Y-Achse sein. Die Klasse berechnet eine geeignete Einteilung der Achse in Ticks und Unter-Ticks unter Berücksichtigung der echten Breite/Höhe der Tick-Label. Die betreffenden Tick-Objekte werden von den Methoden $ax->ticks() und $ax->subTicks() geliefert.
Font-Klasse
Die Achseneinteilung kann für beliebige Fonts berechnet werden. Es wird lediglich vorausgesetzt, dass die Font-Klasse zwei Methoden zur Berechnung der Label-Breite und der Label-Höhe implementiert:
$n
=
$fnt
->stringWidth(
$str
);
$n
=
$fnt
->stringHeight(
$str
);
ATTRIBUTES
- orientation => 'x'|'y' (Default: 'x')
-
Orientierung der Achse: 'x' oder 'y'.
- font => $font (Default: keiner)
-
Font für die Tick-Label.
- length => $int (Default: keiner)
-
Länge der Achse.
- min => $float (Default: keiner)
-
Kleinster Wert auf der Achse.
- max => $float (Default: keiner)
-
Größter Wert auf der Achse.
- logarithmic => $bool (Default: 0)
-
Die Achse erhält eine logarithmische Einteilung (Basis 10).
- minTickGap => $int (Default: 5)
-
Mindestabstand zwischen zwei Ticks:
LABELlt--minTickGap-->LABEL
- debug => $bool (Default: 0)
-
Gib Information über die Tickberechnung auf STDERR aus.
METHODS
Konstruktor
new() - Instantiiere Achsen-Objekt
Synopsis
$ax
= Quiq::Axis::Numeric->new(
@keyVal
);
Description
Instantiiere ein Achsen-Objekt auf Basis der Angaben @keyVal, berechne die beste Achseneinteilung, und liefere eine Referenz auf das Objekt zurück.
Objektmethoden
Siehe Basisklasse
Hilfsmethoden
firstTick() - Wert des ersten Tick
Synopsis
$val
=
$ax
->firstTick(
$step
);
Description
Liefere für Schrittweite $step den ersten Tick in Weltkoordinaten.
labelSize() - Tickgröße in Pixeln
Synopsis
$n
=
$ax
->labelSize(
$val
);
Description
Liefere für Wert $val den Platzbedarf des Label in Pixeln. FIXME: Wert in Label wandeln.
label() - Liefere Achsenlabel zu Wert
Synopsis
$label
=
$ax
->label(
$val
);
Description
Liefere das Achsenlabel für Wert $val. Das Label $label kann vom Wert $val verschieden sein, wenn die Darstellung logarithmisch ist.
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.