use*_*596 1 sorting charts d3.js crossfilter dc.js
如何在dc.js图表中排序数据(如行) - 升序x降序
我想按指定的属性重新排序图表(行/列)(如'avg' - >升序)
我正在尝试使用".top()"......但没有成功
谢谢
以下草案jsfiddle - > ewr5Z/2 /
DJ *_*tin 12
您可以使用订购方法:
chart.ordering(function(d){ return -d.value })
Run Code Online (Sandbox Code Playgroud)
如果您编写自定义缩减,则可以获得更大的灵活性:
priceDimension = ndx.dimension(function(d) {return d.part_number; });
priceGroup = priceDimension.group().reduce(
function (p, v) {
++p.count;
p.sumPrice += v.price;
p.avgPrice = p.sumPrice/p.count;
return p;
},
function (p, v) {
--p.count;
p.sumPrice -= v.price;
p.avgPrice = p.sumPrice/p.count;
return p;
},
function () {
return { count:0, sumPrice:0, avgPrice};
});
....
chart.ordering(function(d){ return d.value.avgPrice});
Run Code Online (Sandbox Code Playgroud)
如果您希望用户能够更改排序顺序,则需要构建一个排序按钮,以更改排序并重新呈现图表.