动态创建数据时未绘制饼图-Flutter,Google饼图库

时间:2020-05-19 10:49:38

标签: flutter dart

当我动态创建数据时未绘制饼图,但是当我创建硬编码值时(我检查了动态创建的列表,它的内容与硬编码的内容完全一样)也可以正常工作。这是我的代码如下:

    static List<charts.Series<InvestmentPie, String>> _createSampleData(List<Investment> invList) {
        List<InvestmentPie> data = [];
        for(int i=0;i<invList.length;i++){
          double chartVal = 0.0;
          List<AssetClass> assetClass = invList[i].assetClasses;
          for(int j=0;j<assetClass.length;j++){

            AssetClass assetCl = assetClass[j];
            chartVal += (assetCl.allocation * invList[i].valValue1) / 100;
          }
          Color clr = Colors.primaries[Random().nextInt(Colors.primaries.length)];

 String nm = invList[i].stockName;
          int nms = chartVal.round();

          InvestmentPie inv1 = new InvestmentPie(nm, nms,
              charts.Color.fromHex(code: '#${clr.value.toRadixString(16)}'));
          data.add(inv1);
        }

        Color clr = Colors.primaries[Random().nextInt(Colors.primaries.length)];

        List<InvestmentPie> data1 = [
          new InvestmentPie('BCP Protected Portfolio Bond - Growth Version', 270,
              charts.Color.fromHex(code: '#${clr.value.toRadixString(16)}')),
          new InvestmentPie('BCP Film Finance Scheme 2 (March 2019)', 411,
              charts.Color.fromHex(code: '#${clr.value.toRadixString(16)}')),
          new InvestmentPie('BCP Protected Portfolio Bond - Growth Plus Version',
              285, charts.Color.fromHex(code: '#${clr.value.toRadixString(16)}')),
          new InvestmentPie(
              'BCP Global Equity Absolute Return Bond 7 - Growth Plus Version',
              342,
              charts.Color.fromHex(code: '#${clr.value.toRadixString(16)}')),
        ];


        return [
          new charts.Series<InvestmentPie, String>(
            id: 'Investments',
            domainFn: (InvestmentPie investment, _) => investment.stockName,
            measureFn: (InvestmentPie investment, _) => investment.investmentValue,
            colorFn: (InvestmentPie investment, _) => investment.barColor,
            labelAccessorFn: (InvestmentPie investment, _) => investment.stockName,

            data: data,
          )
        ];
      }
在上面的代码中

如果我使用'data1',那么我正在获取饼图,如果我将其更改为'data',则它显示为空图表。我确定问题出在我的数据列表的创建上,但不知道会是什么问题。

enter image description here

0 个答案:

没有答案