Flutter PieChart 标签——如何使其发挥作用

标签 flutter charts

我试图使我的 PieChart 标签可见,但在设置 arcRenderDecorators 后,它出现

  1. RenderBox 未布局:ChartContainerRenderObject#1bf0d NEEDS-PAINT '包:flutter/src/rendering/box.dart': 断言失败:第 1927 行第 12 行:“hasSize”
  2. RenderBox 未布局:RenderPointerListener#5ff88 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE '包:flutter/src/rendering/box.dart': 断言失败:第 1927 行第 12 行:“hasSize”
  3. RenderBox 未布局:RenderSemanticsGestureHandler#4a473 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE '包:flutter/src/rendering/box.dart': 断言失败:第 1927 行第 12 行:“hasSize”
  4. RenderBox 未布局:ChartContainerRenderObject#1bf0d '包:flutter/src/rendering/box.dart': 断言失败:第 1927 行第 12 行:“hasSize” 问题。

我必须使用什么样的小部件才能使其正常工作。请帮忙。

 final List<DeveloperSeries> data = [

   DeveloperSeries(
     year: "2017",
     developers: 40000,
     barColor: charts.ColorUtil.fromDartColor(Colors.blue),
   ),
   DeveloperSeries(
     year: "2019",
     developers: 40000,
     barColor: charts.ColorUtil.fromDartColor(Colors.blue),
   ),
   DeveloperSeries(
     year: "2020",
     developers: 35000,
     barColor: charts.ColorUtil.fromDartColor(Colors.blue),
   ),
   DeveloperSeries(
     year: "2021",
     developers: 45000,
     barColor: charts.ColorUtil.fromDartColor(Colors.blue),
   ),
 ];

 @override
 Widget build(BuildContext context) {
   return Scaffold(
     body: Center(
       child: DeveloperChart(
         data: data,
       )
     ),
   );
 }
}
class DeveloperChart extends StatelessWidget {
 final List<DeveloperSeries> data;

 DeveloperChart({required this.data});

 @override
 Widget build(BuildContext context) {
   List<charts.Series<DeveloperSeries, String>> series = [
     charts.Series(
       id: "developers",
       data: data,
       domainFn: (DeveloperSeries series, _) => series.year,
       measureFn: (DeveloperSeries series, _) => series.developers,
       colorFn: (DeveloperSeries series, _) => series.barColor,
       labelAccessorFn: (DeveloperSeries row, _) => row.year,
     )
   ];

   return Container(
       height: 500,
       width: 500,
       child: Card(
         child: Padding(
           padding: const EdgeInsets.all(9.0),
           child: Column(
               children: <Widget>[
                 Text(
                   "Yearly Growth in the Flutter Community",
                   style: Theme
                       .of(context)
                       .textTheme
                       .bodyText2,
                 ),
                 Expanded(
                     child: charts.PieChart(series, animate: true,
                         defaultRenderer: charts.ArcRendererConfig(
                             arcRendererDecorators: [
                               charts.ArcLabelDecorator(
                                   labelPosition: charts.ArcLabelPosition
                                       .outside)
                             ])
                     )
                 )
               ]
           ),
         ),
       )
   );
 }
}```

最佳答案

同样的问题,我通过替换解决了它:

charts.PieChart(

与:

charts.PieChart<String>(

关于Flutter PieChart 标签——如何使其发挥作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70447256/

相关文章:

firebase - 具有导航原因无限循环的Firebase动态链接

sqlite - 在 db Flutter 中存储和获取嵌套的 Json 对象

javascript - Google Chart - 调暗除鼠标悬停的系列之外的所有其他系列

javascript - 将 ng2-charts 添加到 Typescript/Angular 2 项目引用路径和 .js 文件的路径不正确

javascript - 当x轴和y轴的数据为文本值时,如何在highcharts中设置点?

flutter - 如何使用 Navigator.popUntil Flutter

android - 如何在 Flutter 中创建自定义形状,带圆角的四边形

flutter - 您需要在 Release模式下签署您的 APK 或 Android App Bundle

javascript - Google Charts 如何在值 = 0 时隐藏部分图例(动态图例)

asp.net - 样式化 asp.net 图表控件