axisBandLeft function
void
axisBandLeft(})
Implementation
void axisBandLeft(
Canvas canvas, {
required BandScale yScale,
required Offset position,
required AxisTheme theme,
Function(dynamic)? formatLabel,
}) {
// Long Axis
canvas.drawLine(
position + Offset(0, yScale.apply(yScale.dMin)),
position + Offset(0, yScale.apply(yScale.dMax) + yScale.bandwidth),
theme.axisLine);
// Start and End Marks
canvas.drawLine(position + Offset(-5, yScale.apply(yScale.dMin)),
position + Offset(0, yScale.apply(yScale.dMin)), theme.tickLine);
canvas.drawLine(
position + Offset(-5, yScale.apply(yScale.dMax) + yScale.bandwidth),
position + Offset(0, yScale.apply(yScale.dMax) + yScale.bandwidth),
theme.tickLine);
// Marks
final range = yScale.getRange(5);
for (var i in range) {
canvas.drawLine(position + Offset(0, yScale.apply(i)),
position + Offset(-5, yScale.apply(i)), theme.tickLine);
final mid = yScale.apply(i) + yScale.bandwidth / 2;
final c = position + Offset(-8, mid + 1);
drawText(canvas,
mid: c,
text: formatLabel?.call(i) ?? i.toString(),
style: theme.labelStyle,
maxWidth: position.dx,
align: TextAlign.end);
}
}