paintText method
Implementation
void paintText(
Canvas canvas, Offset center, List<Offset> points, List<double> data) {
var textPainter = TextPainter(textDirection: TextDirection.ltr);
for (var i = 0; i < points.length; i++) {
String s = data[i].toStringAsFixed(decimalPrecision);
textPainter.text =
TextSpan(text: s, style: const TextStyle(color: Colors.black));
textPainter.layout();
if (points[i].dx < center.dx) {
textPainter.paint(
canvas, points[i].translate(-(textPainter.size.width + 5.0), 0));
} else if (points[i].dx > center.dx) {
textPainter.paint(canvas, points[i].translate(5.0, 0));
} else if (points[i].dy < center.dy) {
textPainter.paint(
canvas, points[i].translate(-(textPainter.size.width / 2), -20));
} else {
textPainter.paint(
canvas, points[i].translate(-(textPainter.size.width / 2), 4));
}
}
}