如何在 Flutter 中将数组分配给 fl_chart 中的点

AnR*_*AnR 4 charts graph flutter fl-chart

我是 Flutter 新手,刚刚开始使用,fl_charts它看起来真的很棒。然而,我正在努力超越演示 LineChartSample1。

此处给出的示例代码将值分配给点,如下所示:

  spots: [
    FlSpot(1, 1.4),
    FlSpot(2, 3.4),
    FlSpot(3, 2),
    FlSpot(4, 2.2),
    FlSpot(5, 1.8),
  ],
Run Code Online (Sandbox Code Playgroud)

在现实生活中,这显然必须是动态的。因此,我需要从数字数组中分配值,如下所示:

myArray = [7578, 7547, 3578, 9875]
Run Code Online (Sandbox Code Playgroud)

我不知道如何将此数组分配给点,假设 FlSpot 的第一个参数只是一个像 0、1、2、3 ... 这样的序列,第二个参数来自 myArray。

我需要类似FlSpot(x++, myArray[x])循环的东西。

ima*_*ghT 5

抱歉回复晚了,我会按照 fl-chart 标签早点回答。有一个名为 的运算符map,它将您当前的数据转换为新的不同数据模型。你可以这样使用:

final List<double> yValues = [
    1.3,
    1,
    1.8,
    1.5,
    2.2,
    1.8,
    3,
  ];

List<FlSpot> spots =  
      yValues.asMap().entries.map((e) {
         return FlSpot(e.key.toDouble(), e.value);
      }).toList(),

// now spots are [
//    FlSpot(0, 1.3),
//    FlSpot(1, 1),
//    FlSpot(2, 1.8),
//    FlSpot(3, 1.5),
//    FlSpot(4, 2.2),
//    FlSpot(5, 1.8),
//    FlSpot(6, 3),
//  ];

Run Code Online (Sandbox Code Playgroud)