buildGraph method

Widget buildGraph(
  1. BuildContext context
)

Implementation

Widget buildGraph(BuildContext context) {
  final processedData = processNumberData(variable, timeWindow, referenceTime);
  final List<ChartData> chartData = processedData.chartData;
  final DateTimeIntervalType dateIntervalFormat = processedData.dateIntervalFormat;
  final DateFormat dateFormat = processedData.dateFormat;
  final String labelFormat = processedData.labelFormat;
  final double interval = processedData.interval;
  final bool showAxis = processedData.showAxis;
  final double maxY = processedData.maxY;
  final double minY = processedData.minY;
  final DateTime minX = processedData.minX;
  final DateTime maxX = processedData.maxX;

  return SfCartesianChart(
    enableAxisAnimation: false,
    primaryXAxis: DateTimeAxis(
      interval: interval,
      minimum: minX, // ✅ Dynamically set min timestamp
      maximum: maxX, // ✅ Dynamically set max timestamp
      intervalType: dateIntervalFormat,
      edgeLabelPlacement: EdgeLabelPlacement.shift,
      labelStyle: const TextStyle(fontSize: 8),
      majorTickLines: const MajorTickLines(size: 4),
      axisBorderType: AxisBorderType.withoutTopAndBottom,
      axisLine: AxisLine(dashArray: [3]),
      majorGridLines: const MajorGridLines(width: 0),
      placeLabelsNearAxisLine: true,
      isVisible: showAxis,
      labelFormat: labelFormat,
      dateFormat: dateFormat,
    ),
    primaryYAxis: NumericAxis(
      isVisible: false,
      maximum: maxY * 1.1,
      minimum: minY,
      plotOffsetEnd: maxY * 0.02,
      majorGridLines: const MajorGridLines(width: 0),
    ),
    plotAreaBorderWidth: 0,
    margin: EdgeInsets.zero,
    series: [buildSeries(context, chartData)],
  );
}