我有一个对象数组
const data = [
{id: 0, type: "inc", amount: 3000},
{id: 1, type: "exp", amount: 1500}
]
当我将这些数据传递给d3的饼图函数时。
const pie = d3.pie().value(d => d.amount);
inc
的数据项将具有 index: 0
,而 exp
的数据项将具有 index: 1
。据我理解,默认情况下,d3会为最大值分配最大的 index
值(即 0),这意味着最大值的 startAngle
将为 0,并按值从大到小的顺序排列。在我的情况下,应用程序可以更改任一数据项的数量。d3 的默认行为是在
exp
数据项的数量超过 inc
数据项的数量时,在饼图中交换 inc
和 exp
的顺序。我希望类型为 inc
的数据项始终从 startAngle
0 开始,即使 exp
数据项的数量超过了 inc
数据项的数量。我该如何实现这个要求?