0

嗨有以下域array=["Col 1", "2012", "total"],我以这种方式创建比例

x = d3.scale.ordinal()
        .domain(array)
        .rangeRoundBands([0,width], .1);

我这样称呼轴:

 d3.svg.axis()
        .scale(x);

不幸的是,这会产生不稳定的行为和重绘时的数据交换,如下所示:http: //jsbin.com/ibewux/9/edit

获得稳定行为的唯一方法是为域设置数值,即 array=[0, 1, 2, 3, ...]

如何显示这种格式的刻度 ["Col 1", "2012", "total",..., "any string"] 而不是数字的刻度(即 [0,1,2,...N] ) 并避免重绘时数据图表交换(显然每次都在不同的随机刻度上)?

非常感谢

4

1 回答 1

3

刻度是域值的序数刻度已经是这种情况。如此处所示:

在这里将axis.tickValues设置为比例域是多余的。

于 2012-08-04T20:39:29.543 回答