paint method

  1. @override
void paint(
  1. Canvas canvas,
  2. Size size
)
override

size: é o tamanho da area onde vamos desenhar canvas: é o objeto que vamos desenhar paint: é o objeto que contém as propriedades do que desejamos desenhar: cor, espessura da linha, etc

Implementation

@override
void paint(Canvas canvas, Size size) {
  final paint = Paint()
    ..color = const Color.fromARGB(255, 58, 58, 58).withOpacity(.8)
    ..style = PaintingStyle.stroke;

  final rect = Rect.fromLTWH(0, 0, size.width, size.height);
  canvas.drawRect(
    rect,
    paint,
  );
  drawXAxis(canvas, size);
  drawYAxis(canvas, size);
  int startXaxiX = drawXAxis(canvas, size)[0];
  int startXaxiY = drawYAxis(canvas, size)[0];

  drawXMarkers(canvas, size, startXaxiX.toDouble());
  drawYMarkers(canvas, size, startXaxiY.toDouble());
  //aqui escrevo os textos no eixo y
  for (int i = 0; i < xPoints.length; i++) {
    setText(yValues[i].toString(), canvas, size, yPoints[i][0], "y");
  }
  //aqui escrevo os labels no eixo x
  for (int i = 0; i < labels.length; i++) {
    setText(labels[i].length > 5 ? labels[i].substring(0, 4) : labels[i],
        canvas, size, xPoints[i][0], "x");
  }

  drawPoint(canvas, size, values, xPoints, yPoints, yValues);
  drawInitailPoint(canvas, size);
}