drawXAxisLabelsRotated method

void drawXAxisLabelsRotated(
  1. Canvas canvas,
  2. ChartViewport viewport,
  3. List<String> xLabels,
  4. List<double> xPositions, {
  5. double angleDeg = -45,
})

Draw rotated X-axis labels (e.g., for many categories).

Implementation

void drawXAxisLabelsRotated(
  Canvas canvas,
  ChartViewport viewport,
  List<String> xLabels,
  List<double> xPositions, {
  double angleDeg = -45,
}) {
  final style = theme.typography.axisLabelStyle.copyWith(
    color: theme.axisLabelColor,
  );
  final angle = angleDeg * math.pi / 180;
  for (int i = 0; i < xLabels.length && i < xPositions.length; i++) {
    final tp = textPainterCache.get(xLabels[i], style);
    canvas.save();
    canvas.translate(xPositions[i], viewport.bottom + 4);
    canvas.rotate(angle);
    tp.paint(canvas, Offset(-tp.width / 2, 0));
    canvas.restore();
  }
}