gpt4 book ai didi

当 defaultRender 设置为非常基本的 ArcRendererConfig() 时,Flutter GoogleChart 饼图不呈现

转载 作者:行者123 更新时间:2023-12-03 04:00:22 25 4
gpt4 key购买 nike

图表按预期显示 使用以下 PieChart 小部件。

class ABCPieChart extends StatefulWidget {
@override
_ABCPieChartState createState() => _ABCPieChartState();
}

class _TABCPieChartState extends State<ABCPieChart> {
List<charts.Series<ChartEntity, String>> _entities = List();

_initData() {
var values = [
ChartEntity("Food", 30, Colors.greenAccent),
ChartEntity("Clothing", 30, Colors.cyan),
ChartEntity("Fashion", 20, Colors.red),
ChartEntity("Gadgets", 20, Colors.blue),
];

_entities.add(charts.Series(
data: values,
domainFn: (ChartEntity entity, _) => entity.title,
measureFn: (ChartEntity entity, _) => entity.percentage,
colorFn: (ChartEntity entity, _) =>
charts.ColorUtil.fromDartColor(entity.color),
id: "random chart",
labelAccessorFn: (ChartEntity entity, _) => "${entity.percentage}"));
}

@override
void initState() {
super.initState();
_entities = List<charts.Series<ChartEntity, String>>();
_initData();
}

@override
Widget build(BuildContext context) {
return Container(
height: 400.0,
width: 400,
child: charts.PieChart(
_entities,
animate: true,
animationDuration: Duration(milliseconds: 500),
),
);
}
}

Without Default renderer
但是当我尝试 将其定制为 donut 形状 , 就算加了很基础的 defaultRenderer , 图表未呈现在屏幕上。
 class ABCPieChart extends StatefulWidget {
@override
_ABCPieChartState createState() => _ABCPieChartState();
}

class _TABCPieChartState extends State<ABCPieChart> {
List<charts.Series<ChartEntity, String>> _entities = List();

_initData() {
var values = [
ChartEntity("Food", 30, Colors.greenAccent),
ChartEntity("Clothing", 30, Colors.cyan),
ChartEntity("Fashion", 20, Colors.red),
ChartEntity("Gadgets", 20, Colors.blue),
];

_entities.add(charts.Series(
data: values,
domainFn: (ChartEntity entity, _) => entity.title,
measureFn: (ChartEntity entity, _) => entity.percentage,
colorFn: (ChartEntity entity, _) =>
charts.ColorUtil.fromDartColor(entity.color),
id: "random chart",
labelAccessorFn: (ChartEntity entity, _) => "${entity.percentage}"));
}

@override
void initState() {
super.initState();
_entities = List<charts.Series<ChartEntity, String>>();
_initData();
}

@override
Widget build(BuildContext context) {
return Container(
height: 400.0,
width: 400,
child: charts.PieChart(
_entities,
animate: true,
animationDuration: Duration(milliseconds: 500),
defaultRenderer: charts.ArcRendererConfig(),

),
);
}
}

After adding a defaultRenderer

即使我从谷歌示例中复制并粘贴代码 here , 它不渲染。 (在 hotreload、Hotrestart 和 Coldrestart 中都没有)

此问题仅适用于 PieChart and ArcRendererConfig. BarChartBarRendererConfig工作正常

我认为这可能是设置问题,或者可能错过了一个非常小但至关重要的东西,有人知道可能出了什么问题吗?

我已经在 Github here 中交叉发布了这个问题,希望这个问题能被 GitHub 和 SO(我就是其中之一)中任何不相交的观众看到。不是为了发送垃圾邮件或惹恼任何人。

最佳答案

在我的情况下,问题是相同的,但通过放置 id 解决了在 defaultRenderer ,例如:

customRendererId: 'novoId'

关于当 defaultRender 设置为非常基本的 ArcRendererConfig() 时,Flutter GoogleChart 饼图不呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57702624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com