如何在域中显示重复值

时间:2017-07-13 09:16:51

标签: javascript d3.js

我正在尝试根据即将到来的值创建条形图,它应该显示所有标签。条形图按性质分组。

我能够创建大部分内容,但不知何故,价值标签不能正常使用。

["July 02,2017", "July 09,2017", "July 02,2017", "July 12,2017"]

目前scale.ordinal正在移除重复值并将比例设置为:

["July 02,2017", "July 09,2017", "July 12,2017"] 

这扰乱了图表视图。

如何在x轴上显示重复值?

JsFiddle

1 个答案:

答案 0 :(得分:4)

D3使用domainimage的数学概念作为范围和范围。因此,域值应唯一

您的案例中的解决方法是在数据数组中创建另一个属性,如此,它使用每个对象的索引来创建一个方便地命名为index的属性:

data.forEach(function(d, i) {
    d.index = i
})

然后,对x范围的域使用该属性(具有唯一值)。

此外,您必须更改x刻度的刻度,您可以使用tickFormat进行更改:

.tickFormat(function(d, i) {
    return data[i].Groups
});

这是更新的小提琴:http://jsfiddle.net/wujtnomh/