Свечи с синхронизацией во флаттере

#flutter #syncfusion #syncfusion-chart

#флаттер #syncfusion #syncfusion-график

Вопрос:

Я экспериментирую syncfusion и пытаюсь получить график свечей, как показано в документации. К сожалению, когда я пробую свой код, вместо того, чтобы видеть свечу, я вижу горизонтальную зеленую линию, и я не могу понять, почему. Я использовал следующий код:

Данные диаграммы

 class ChartData {
  double x;
  double open;
  double high;
  double low;
  double close;

  ChartData({this.x, this.open, this.high, this.low, this.close});
}
 

метод сборки в моем виджете с отслеживанием состояния

 @override
  Widget build(BuildContext context) {
    return Scaffold(
      // appBar: AppBar(),
      body: SafeArea(
        child: Row(
          children: [
            Expanded(
              child: ListView(
                physics: BouncingScrollPhysics(),
                scrollDirection: Axis.horizontal,
                children: <Widget>[
                  Padding(
                      padding: const EdgeInsets.all(20.0),
                      child: Container(
                        width: MediaQuery.of(context).size.width * 3,
                        child: SfCartesianChart(
                            title: ChartTitle(text: "Candlesticks"),
                            primaryXAxis: NumericAxis(),
                            series: <ChartSeries>[
                              CandleSeries<ChartData, double>(
                                showIndicationForSameValues: true,
                                dataSource: <ChartData>[
                                  ChartData(
                                      // Open and close values are same
                                      x: 5,
                                      open: 86.3593,
                                      high: 88.1435,
                                      low: 84.3914,
                                      close: 86.3593),
                                ],
                                xValueMapper: (ChartData data, _) => data.x,
                                highValueMapper: (ChartData data, _) =>
                                    data.high,
                                lowValueMapper: (ChartData data, _) => data.low,
                                openValueMapper: (ChartData data, _) =>
                                    data.open,
                                closeValueMapper: (ChartData data, _) =>
                                    data.close,
                              )
                            ]),
                      )),
                ],
              ),
            )
          ],
        ),
      ),
    );
  }
 

Спасибо за помощь

Ответ №1:

Мы проанализировали ваш запрос с предоставленной информацией с нашей стороны и обнаружили, что в источнике данных для графика значения открытия и закрытия данных свечи совпадают, и только поэтому для этой точки данных нарисована горизонтальная линия, указывающая, что значения открытия и закрытия совпадают.такие же. Это поведение по умолчанию для Candleeries. Также следует упомянуть, что существует свойство, называемое showIndicationForSameValues , для которого при включении значения true рисуется тонкая вертикальная линия для точки данных, у которой высокие и низкие значения одинаковы. Для получения дополнительной информации о функции индикации точки данных, пожалуйста, ознакомьтесь с руководством пользователя ниже.

https://help.syncfusion.com/flutter/cartesian-charts/chart-types#indication-for-same-values-1

Кроме того, мы поделились ссылкой на репозиторий flutter examples на GitHub ниже, в которой содержатся демонстрационные образцы наших виджетов Flutter, которые будут полезны для экспериментов с функциями, доступными в наших виджетах Flutter. Примеры Syncfusion Flutter ссылка на GitHub: https://github.com/syncfusion/flutter-examples