2

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

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

  spots: [
    FlSpot(1, 1.4),
    FlSpot(2, 3.4),
    FlSpot(3, 2),
    FlSpot(4, 2.2),
    FlSpot(5, 1.8),
  ],

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

myArray = [7578, 7547, 3578, 9875]

假设 FlSpot 的第一个参数只是一个序列,如 0、1、2、3 ... 和来自 myArray 的第二个参数,我无法弄清楚如何将此数组分配给点。

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

4

1 回答 1

3

抱歉回答晚了,我会按照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),
//  ];

于 2020-05-24T14:37:03.960 回答