我最近发现了 dc.js,并一直在尝试使用 d3.js 网站上提供的条形图示例来实现一个简单的条形图:http: //bl.ocks.org/mbostock/3885304。
但是,作为 dc.js 实现的一部分,需要一个交叉过滤器维度和组。
因此,使用带有“字母”和“频率”的简单 TSV 文件,我将代码更改为如下所示:
d3.tsv('testdata.tsv', function(error, data) {
var cf = crossfilter(data);
var dimension = cf.dimension(function(d){
return d.letter;
}
var group = dimension.group().reduce(
function(p,v){
p.frequency += v.frequency
},
function(p,v){
p.frequency -= v.frequency
},
function(){
return { frequency: 0 };
});
我对应该将 valueAccessor 设置为什么(在我的条形图上)有点困惑,因为当我将 valueAccessor 设置为返回“频率”时,我将 xAxis 比例设置为具有所有“字母”域的序数在数据集中,我得到了一个渲染的条形图,其中几乎所有的 x 轴值(“A - Y”)都位于零点,一个 x 轴值(即“Z”)位于 x 轴线的末端.
我试过设置范围,但似乎没有奏效。任何关于我误解的想法将不胜感激!