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

rks48beu  于 2022-12-24  发布在  Flutter
关注(0)|答案(2)|浏览(157)

我是Flutter的新手,刚开始使用fl_charts,它看起来真的很棒。但是,我正在努力超越演示LinechartSample1。
sample code given here按如下方式为斑点赋值:

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])的代码。

xmq68pz9

xmq68pz91#

对不起,我的回答晚了,我会按照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),
//  ];
wwtsj6pe

wwtsj6pe2#

首先,你可以将静态数据传递给fl_chart,表示你想要在那里显示的点,如下所示:
荧光点:[荧光点(1,1.4),荧光点(2,3.4),荧光点(3,2),荧光点(4,2.2),荧光点(5,1.8),],
要从列表中添加动态值,必须使用以下代码
RxList分析图= [].obs;

List.generate(widget.list.length, (i) {

  analyticPlots.add(
      FlSpot(i.toDouble(), 
      double.parse(widget.list[i].value.toString())));

});

相关问题