我遇到了一些问题。
我正在使用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) };
但是在这个文件的某个地方,这些切片是按值排序的,这不是我想要的。
此图表的问题是,当它更新时,它会调整图表的所有部分以使它们按升序排列。例如,饼图的最大部分始终在右侧,最小部分在左侧。我希望这些按照传入数据时的顺序保留。
答案 0 :(得分:1)
这隐藏在documentation。
中pie.sort([比较])
如果指定了比较器,则设置布局数据的排序顺序 使用指定的比较器功能。 传递null以禁用排序。
(bolding mine)
因此,请将.pie
来电修改为:
var cv_pie = d3.layout.pie().sort(null).value(function (d) { return d.value });
更新了fiddle。