CartesianScale class
The reversible data↔pixel mapping for an index-based cartesian chart
(line/area/bar/candlestick). Renderers compute this once and use it for both
painting (xForIndex/yForValue) and hit-testing (valueForY/nearestIndex),
so paint geometry and interaction geometry can never drift apart.
X is mapped by index: count evenly spaced columns across bounds. Y is a linear value axis from minValue (at the bottom) to maxValue (at the top).
Constructors
- CartesianScale({required ChartBounds bounds, required int count, required double minValue, required double maxValue})
-
Creates a scale over
boundswithcountcolumns spanningminValuetomaxValueon the value axis.const
Properties
- bounds → ChartBounds
-
The plot rectangle the scale maps into.
final
- count → int
-
The number of evenly spaced columns along the x-axis.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- maxValue → double
-
The value at the top of the y-axis.
final
- minValue → double
-
The value at the bottom of the y-axis.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
nearestIndex(
double px) → int -
The column index nearest pixel
px, clamped to0..count-1. A non-finitepx(which would makeround()throw) resolves to the first column. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
valueForY(
double y) → double -
The data value at pixel
y— the inverse of yForValue. -
xForIndex(
int index) → double -
The pixel x of column
index. A single column is centered; otherwise columns span the full plot width withcount - 1equal gaps. -
yForValue(
double value) → double -
The pixel y of data
value(y grows downward, so larger values sit higher).
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited