javascript - 如何将值数组传递给旭日图 dc.js?

标签 javascript d3.js dc.js sunburst-diagram

我从这个 link 中获取了示例源.

我的数据是这样的:

var data = [{ known_technologies : ["prepaid billing", " postpaid billing"],company : "A",YearsOfExp:0},
{ known_technologies : ["prepaid billing", " postpaid billing"],company:"B",YearsOfExp:1}];

我的尺寸:

var ndx = crossfilter(data);
var yearDim2 = ndx.dimension(function(d)
{
    return [d.known_technologies,d.company];  
});
var spendPerYear2 = yearDim2.group();

我得到如下内容:

但我想通过以下方式:

jsfiddle here

如何制作尺寸。有什么建议么?提前致谢。

最佳答案

如果你想渲染两个不同的旭日形图,你需要在你的 html 页面上抓取两个不同的元素。您可以通过更改在 year2 维度中返回的数组中维度的顺序来控制内环和外环。创建适当的组,从 DOM 中选择这两个项目并像在 jsfiddle 中一样创建图表。不要忘记调用 dc.renderAll() 以便您实际创建图表。

const ndx = crossfilter(data);

const yearDimX = ndx.dimension(function(d){
    return [d.company, d.known_technologies];  
});

const yearDimY = ndx.dimension(function(d){
    return [d.known_technologies,d.company];  
});

const spendPerYearX = yearDimX.group();
const spendPerYearY = yearDimY.group();

关于javascript - 如何将值数组传递给旭日图 dc.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36111299/

相关文章:

javascript - 使用 crossfilter 和 dc.js 绘制每个给定日期的最小最大值图表

Javascript随机函数更改html文件中的图片

javascript - ng-options 和 ng-model 预选值

d3.js - D3 sort() 导致奇怪的意外行为

javascript - 在 Crossfilter/DC.js 中加载 CSV 并创建过滤器

javascript - 在 DC.js 中删除条形图的 X 标签

javascript - 从专用工作人员访问共享工作人员

javascript - 如何从插件内部访问查询中给出的上下文?

javascript - 将图例添加到绘图 - d3

d3.js - 在 p5.js 中清除 draw() 中每帧都会改变的元素,但保留在 setup() 中创建的昂贵元素( map )