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.232
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.