我正在尝试创建crossfilter.js维度和组的一般功能。到目前为止,我根据这种方式的数据的键名(列的名称)创建了一个特定的(具有'Weekday'列的示例):
DataArray= crossfilter(Data);
dimName = DataArray.dimension(function (d) { return d.Weekday; });
groupName= dinName.group().reduce(reduceAdd, reduceRemove, reduceInit);
很明显,这很有用,但我想创建一个可以创建尺寸的通用功能,无论列的名称如何。我曾经这样做过:
var x = Data[0];
var keyNames= d3.keys(x);
dimName = DataArray.dimension(function (d) { return d.keyNames[0]; });
...
这不起作用,因为'd.keyNames [0]'显然是错误的。 如何将keyNames传递给函数'd的返回值。 “...
我希望我能解释清楚。
答案 0 :(得分:0)
替换
dimName = DataArray.dimension(function (d) { return d.Weekday; });
与
dimName = DataArray.dimension(function (d) { return d["column name"]; });
即使列名称包含空格,这也可以。