饼图在更新时不断自我调整 - D3
Pie chart keeps adjusting itself when updating - D3
我有点小问题。
我正在使用 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) };
但是在这个文件的某个地方,这些切片是按值排序的,这不是我想要的。
此图表的问题在于,当它更新时,它会调整图表的所有部分以保持它们按升序排列。例如,馅饼的最大部分总是在右边,最小的部分在左边。我希望它们保持数据传入时的顺序。
这有点埋在 documentation 中。
pie.sort([comparator])
If comparator is specified, sets the sort order of data for the layout
using the specified comparator function. Pass null to disable sorting.
(加粗我的)
因此,将您的 .pie
调用修改为:
var cv_pie = d3.layout.pie().sort(null).value(function (d) { return d.value });
已更新 fiddle。
我有点小问题。
我正在使用 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) };
但是在这个文件的某个地方,这些切片是按值排序的,这不是我想要的。
此图表的问题在于,当它更新时,它会调整图表的所有部分以保持它们按升序排列。例如,馅饼的最大部分总是在右边,最小的部分在左边。我希望它们保持数据传入时的顺序。
这有点埋在 documentation 中。
pie.sort([comparator])
If comparator is specified, sets the sort order of data for the layout using the specified comparator function. Pass null to disable sorting.
(加粗我的)
因此,将您的 .pie
调用修改为:
var cv_pie = d3.layout.pie().sort(null).value(function (d) { return d.value });
已更新 fiddle。