首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DCjs-基于值的交叉过滤分组关键字

DCjs-基于值的交叉过滤分组关键字
EN

Stack Overflow用户
提问于 2016-08-30 18:51:27
回答 1查看 798关注 0票数 0

我有以下数据集。

代码语言:javascript
运行
复制
[{..... att1: a, hits: 2},
{..... att1: a, hits: 2},
{..... att1: a, hits: 3},
{..... att1: b, hits: 2},
{..... att1: b, hits: 2},
{..... att1: c, hits: 9},
]

我想创建一个条形图,其中x值是范围'0-5','5-10','10+‘,y值是落在这个范围内的键数。即。('0-5',1),('5-10',2),('10+',0)

EN

回答 1

Stack Overflow用户

发布于 2016-08-31 05:33:47

创建一个维度,将您的数据转换为一组与存储桶匹配的序数值。然后在该维度上分组。您的组将统计落入每个存储桶中的记录数量。

代码语言:javascript
运行
复制
var data = [{att1: 'a', hits: 2},
  {att1: 'a', hits: 2},
  {att1: 'a', hits: 3},
  {att1: 'b', hits: 2},
  {att1: 'b', hits: 2},
  {att1: 'c', hits: 9},
];
var cf = crossfilter(data);
var dim = cf.dimension(function(d) {
  if(d.hits <= 5) return '0-5';
  if(d.hits <= 10) return '5-10';
  return '10+'; 
});
var grp = dim.group();
console.log(grp.all());

工作示例(检查控制台):https://jsfiddle.net/esjewett/u10h4xsu/2/

然后,您可以在此基础上构建dc.js条形图。

代码语言:javascript
运行
复制
var barChart = dc.barChart("#bar");

barChart.dimension(dim)
    .group(grp)
  .x(d3.scale.ordinal().domain(['0-5','5-10','10+']))
  .xUnits(dc.units.ordinal);

dc.renderAll();

条形图示例:https://jsfiddle.net/esjewett/u10h4xsu/4/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39225529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档