0

我正在试验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,
                              )
                            ]),
                      )),
                ],
              ),
            )
          ],
        ),
      ),
    );
  }

谢谢您的帮助

4

1 回答 1

0

我们已经用我们最后提供的信息分析了您的查询,我们发现在图表的数据源中,蜡烛数据点的开盘和收盘值相同,仅由于这一点,为此绘制了一条水平线数据点表示开盘值和收盘值相同。这是CandleSeries的默认行为。此外,还有一个名为showIndicationForSameValues的属性,当启用为 true 时,会为高值和低值相同的数据点绘制一条细垂直线。有关数据点指示功能的进一步参考,请查看下面的用户指南。

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

此外,我们在下面分享了 Flutter 示例 GitHub 存储库链接,其中包含 Flutter 小部件的演示示例,这将有助于试验 Flutter 小部件中可用的功能。Syncfusion Flutter 示例 GitHub 链接:https ://github.com/syncfusion/flutter-examples

于 2020-11-30T08:24:57.570 回答