完整的JS小提琴数据示例如下:https://jsfiddle.net/ojrhn96y/2/ .
我有一些带有两个值的数据: Achievement
和 Balance
. 我目前用dc.js创建了两个文本元素,用于跟踪两个值的平均值 . 但是,我想要一个带有x轴 ['Achievement', 'Balance']
的条形图,然后将 [achievement_sum, balance_sum]
作为其y值,每个指标都有一个条形 .
我该如何创建这种类型的条形图?
我有我的平均值,使用以下内容创建:
achievementAvg = achievement.groupAll().reduceSum(
function(d) {
return d.achievement;
}),
但我不确定如何将这些值分配给单独的栏 .
1 回答
由于您基本上是在轮换数据,因此crossfilter不直接支持这种行为,它希望过滤和聚合行,而不是列 .
但是你可以使用"fake group",只要你不想想它 . )
首先,我们需要创建一个完全无用的维度对象,因为dc.js想要一个 . 如果你找到了一种过滤这些类别的方法,那么你可以在这里实现它:
然后这里是假组,一个实现
all
方法的对象,它返回一个{key,value}
对的数组,就像一个真正的组:我们用序数标度初始化条形图:
这里有你所有代码的小提琴:https://jsfiddle.net/gordonwoodhull/x03f37bk/8/