Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 使用group().reduceCount和groupAll()计算crossfilter.js中的总计。reduceSum_Json_Dc.js_Crossfilter - Fatal编程技术网

Json 使用group().reduceCount和groupAll()计算crossfilter.js中的总计。reduceSum

Json 使用group().reduceCount和groupAll()计算crossfilter.js中的总计。reduceSum,json,dc.js,crossfilter,Json,Dc.js,Crossfilter,我有一个大的JSON文件,其值类似于此示例: [ {"date": "12/27/2012", "temp": 23, "pH": ".4"}, {"date": "12/27/2012", "temp": 23, "pH": ".7"}, {"date": "12/27/2012", "temp": 23, "pH": ".2"}, {"date": "12/27/2012", "temp": 23} ] 存在pH值不存在的情况。我需要在页面上记录“temp”和

我有一个大的JSON文件,其值类似于此示例:

[
  {"date": "12/27/2012",  "temp": 23,  "pH": ".4"},
  {"date": "12/27/2012",  "temp": 23,  "pH": ".7"},
  {"date": "12/27/2012",  "temp": 23,  "pH": ".2"},
  {"date": "12/27/2012",  "temp": 23}
]
存在pH值不存在的情况。我需要在页面上记录“temp”和“pH”的实例有多少。使用JavaScript循环执行此操作没有问题,但我也想看看是否可以使用crossfilter执行此操作

基本上,是否有类似于groupAll().reduceCount().value()的东西,只计算字符串的单个实例

下面是d3.json()块中的代码示例:


这不会让你得到不同的临时工和小灵通的数量吗

var tempDim = xFilter.dimension(function(d) {return d.temp;}); 
var tempGroup = tempDim.group();
console.log(tempGroup.top(Infinity).length);

var phDim = xFilter.dimension(function(d) {return d.pH;});
var phGroup = phDim.group()
console.log(phGroup.top(Infinity).length);

或者,如果您需要计算值的数量,无论它们是否不同,您可以使用自定义的reduce函数,例如:

tempDim.groupAll().reduce(
    function(p,v) { return (v.temp !== undefined) ? p+1 : 0; },
    function(p,v) { return (v.temp !== undefined) ? p-1 : 0; },
    function() { return 0; })\

然后,您可以使用。

进行概括,它满足了我的需要。谢谢你,伊桑!谢谢你的回复和链接,戈登。我也来看看这个。
tempDim.groupAll().reduce(
    function(p,v) { return (v.temp !== undefined) ? p+1 : 0; },
    function(p,v) { return (v.temp !== undefined) ? p-1 : 0; },
    function() { return 0; })\