1

I am using syncfusion_flutter_charts library 20.4.51 to make charts. My problem is that when the dataChart is repeated, its column is not displayed. For example, in the code below, two columns are displayed instead of three. my code:

import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_charts/charts.dart';

import 'bar-chart-data.dart';

void main() {
  runApp(
    MaterialApp(
      home: BarChartModel(
        chartData: [
          BarChartData(examDate: '2023/01/01', score: 100),
          BarChartData(examDate: '2023/01/01', score: 100),
          BarChartData(examDate: '2023/01/03', score: 80),
        ],
      ),
    ),
  );
}

class BarChartModel extends StatefulWidget {
  const BarChartModel({Key? key, required this.chartData}) : super(key: key);
  final List<BarChartData> chartData;

  @override
  State<BarChartModel> createState() => _BarChartModelState();
}

class _BarChartModelState extends State<BarChartModel> {
  late List<BarChartData> barChartData = [];

  @override
  void initState() {

    for (int i = 0; i < widget.chartData.length; i++) {
      barChartData.add(widget.chartData[i]);

    }
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: const Color(0xfff5f5f5),
      body: Padding(
        padding: const EdgeInsets.only(top: 10, bottom: 5),
        child: Center(
          child: SfCartesianChart(
            primaryXAxis: CategoryAxis(
              arrangeByIndex: false,

            ),
            series: <ChartSeries>[
              StackedColumnSeries<BarChartData, String>(
                dataSource: barChartData,
                xValueMapper: (BarChartData ch, _) => ch.examDate,
                yValueMapper: (BarChartData ch, _) => ch.score,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

I want to show on the x-axis the dates that the user took the test, sorry, my explanation was very bad, my English is poor. :(

jessi cas
  • 21
  • 2

0 Answers0