axisLeft function
void
axisLeft(})
Implementation
void axisLeft(
Canvas canvas, {
required Scale 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)), theme.axisLine);
// Start and End Marks
canvas.drawLine(position + Offset(-10, yScale.apply(yScale.dMin)),
position + Offset(0, yScale.apply(yScale.dMin)), theme.tickLine);
canvas.drawLine(position + Offset(-10, yScale.apply(yScale.dMax)),
position + Offset(0, yScale.apply(yScale.dMax)), 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);
final c = position + Offset(-8, mid);
if (range.indexOf(i) != 0) {
drawText(canvas,
mid: c,
text: formatLabel?.call(i) ?? i.toString(),
style: theme.labelStyle,
maxWidth: position.dx,
align: TextAlign.end);
}
}
}