遇到rowChart问题,我试图限制使用cap()显示的行数,但生成的图表没有正确排序;无论是否使用cap()或rowsCap(),它似乎都按维度而不是组排序。我有自定义缩减,访问器的行为与预期一致。我怀疑数据中存在问题,因为当我只查看第一个字符或第二个字符时,下面的代码片段按预期工作但是当我包含第三个字符时失败。以前有人见过这种行为并知道如何解决它吗?
userDim[i] = facts.dimension(function(d) { return d[config[i].field]; });
userGrp[i] = userDim[i].group().reduce(reduceAddSAIDI(), reduceRemoveSAIDI(), reduceInitSAIDI);
var newMeasure = config[i].measure;
chart[i] = dc.rowChart("#" + config[i].tagID +"-chart");
chart[i].dimension(userDim[i]);
chart[i].group(userGrp[i]);
chart[i].elasticX(true);
chart[i].xAxis().ticks(2);
chart[i].othersGrouper(false);
//chart[i].rowsCap(25);
chart[i].cap(25);
chart[i].ordering(function(d){return -d.value[newMeasure];});
chart[i].valueAccessor(function (d) { return -d.value[newMeasure];});
维度上的分箱功能,当使用维度字段中的前两个字符时,它会给出预期结果,但如果维度数组变得更大,则看起来排序不正确:
function binFeeder(inVal) {
if (inVal != "") {
binVal = inVal.substring(0,2);
} else {
binVal = "NoData";
}
if (consoleDebug) console.log (inVal + " --> " + binVal);
return binVal;
}