饼图在更新时不断调整自身 - D3

时间:2015-01-13 19:53:04

标签: javascript d3.js pie-chart

我遇到了一些问题。

我正在使用D3为我正在构建的应用程序制作饼图。我基本上有它工作,但我对图表的一个方面感到恼火。我已经从这里调整了图表:http://jsfiddle.net/vfkSs/1/来处理我的应用程序。

数据传递到这里:

data = data ? data : { "slice1": Math.floor((Math.random()*10)+1), 
                       "slice2": Math.floor((Math.random()*10)+1), 
                       "slice3": Math.floor((Math.random()*10)+1), 
                       "slice4": Math.floor((Math.random()*10)+1) };

但是在这个文件的某个地方,这些切片是按值排序的,这不是我想要的。

此图表的问题是,当它更新时,它会调整图表的所有部分以使它们按升序排列。例如,饼图的最大部分始终在右侧,最小部分在左侧。我希望这些按照传入数据时的顺序保留。

1 个答案:

答案 0 :(得分:1)

这隐藏在documentation

  

pie.sort([比较])

     

如果指定了比较器,则设置布局数据的排序顺序   使用指定的比较器功能。 传递null以禁用排序

(bolding mine)

因此,请将.pie来电修改为:

var cv_pie = d3.layout.pie().sort(null).value(function (d) { return d.value });

更新了fiddle