paintLabels method
Implementation
void paintLabels(
Canvas canvas, Offset center, List<Offset> points, List<String> labels) {
var textPainter = TextPainter(textDirection: TextDirection.ltr);
var textStyle =
TextStyle(color: Colors.grey.shade600, fontWeight: FontWeight.bold);
for (var i = 0; i < points.length; i++) {
textPainter.text = TextSpan(text: labels[i], style: textStyle);
textPainter.layout();
if (points[i].dx < center.dx) {
textPainter.paint(
canvas, points[i].translate(-(textPainter.size.width + 5.0), -15));
} else if (points[i].dx > center.dx) {
textPainter.paint(canvas, points[i].translate(5.0, -15));
} else if (points[i].dy < center.dy) {
textPainter.paint(
canvas, points[i].translate(-(textPainter.size.width / 2), -35));
} else {
textPainter.paint(
canvas, points[i].translate(-(textPainter.size.width / 2), 20));
}
}
}