【发布时间】:2015-05-15 02:38:49
【问题描述】:
我遇到了一个涉及 dc.js 和 crossfilter 的独特问题。我有一些数据需要使用由 dc.js 提供支持的数字图表来显示。但是,我发现数字图表的文档最少,因此发布了我的查询。
Here is the JSFiddle for what i have conceptualized so far.
我基本上想在框 1 中显示唯一项目计数,在这种情况下为 3,在框 2 中显示唯一位置计数,在这种情况下为 11,屏幕故障率为 2/15*100,即15.3%
目前我已经使用 jquery 完成了这项工作,但这只是一个 hack。我想要这些基于跨表聚合的数字图表,以便我可以深入研究数据。
我遇到过减少计算计数的示例,但它们是用于条形图的,但在数字图表中,我们需要一个值访问器来显示数据。
有人可以帮帮我吗?
PS: 这是我写的jquery代码。不知道这是否会有所帮助。
$(document).ready(function() {
var baseURL = window.location.origin;
$.ajax({
url : baseURL + '/api/PlaceTable',
type : 'GET',
data : {},
async : true,
dataType : "json",
success : function(response) {
//Project Count
var projectIdCount = [];
for (i = 0; i < response.length; i++) {
if(response[i].Project != undefined){
if($.inArray(response[i].Project, projectIdCount) === -1){
projectIdCount.push(response[i].Project);
}
}
}
$('#number-box1').text(ProjectIdCount.length);
//Place Count
var placeIdCount = [];
for (i = 0; i < response.length; i++) {
if(response[i].Place != undefined){
if($.inArray(response[i].Place, placeIdCount) === -1){
placeIdCount.push(response[i].Place);
}
}
}
为了显示包含二进制值的列的运行总和,我使用了这段代码,它在数字图表中起作用:
numberChart
.valueAccessor(function(x){ return +flag.groupAll().reduceCount().reduceSum(function(d) { return d.Flag; }).value();})
.group(ndx.groupAll());
【问题讨论】:
-
fiddle 随群组更新 jsfiddle.net/anmolkoul/L686qaLs/12
标签: dc.js crossfilter