在dc-js geoChoropleth图表的标题中使用完整的组记录

查波

我有一个小组,其减少后的元素看起来像这个伪代码:

{
  key:"somevalue",
  value: {
    sum: the_total,
    names:{
     a: a_number,
     b: b_number,
     c:c_number
    }
  }
}

在我的dc-js geoChoropleth图valueAccessor(d) => d.value.sum

在我的中title,我想使用names减少量组成部分。但是当我使用时.title((d) => {...}),我可以只访问键和函数所产生的值,valueAccessor而不是原始记录。

那是真的吗?

高登

这是geoChoropleth图表的特点。

大多数图表将组数据直接绑定到图表元素,但是由于geoChoropleth图表具有两个数据源,即地图和组,因此它绑定了地图数据并隐藏了组数据

这是直接的罪魁祸首:

_renderTitles (regionG, layerIndex, data) {
    if (this.renderTitle()) {
        regionG.selectAll('title').text(d => {
            const key = this._getKey(layerIndex, d);
            const value = data[key];
            return this.title()({key: key, value: value});
        });
    }
}

它本身在创建键/值对象,而值,正如您所推导的,来自valueAccessor

_generateLayeredData () {
    const data = {};
    const groupAll = this.data();
    for (let i = 0; i < groupAll.length; ++i) {
        data[this.keyAccessor()(groupAll[i])] = this.valueAccessor()(groupAll[i]);
    }
    return data;
}

抱歉,这不是一个完整的答案,但是我建议添加一个pretransition处理程序来替换标题,或者使用传递给标题访问器的密钥来查找所需的数据。

正如我在上面链接的问题中指出的那样,我认为这是一个非常严重的设计错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章