您的位置:首页 > 其它

d3中x轴数据名称重复导致缺失的问题

2016-11-30 22:40 197 查看
参考链接:

http://stackoverflow.com/questions/19994328/give-d3-ordinal-axis-labels-different-from-scale-names

http://stackoverflow.com/questions/32086486/d3-ordinal-scale-labels-with-same-names

具体方式:

x.domain(data)如果data中有重复的key值d3会忽略之后的数据,所以要保证data值唯一可以使用如下方式:

var x = d3.scale.ordinal()
.rangeRoundPoints([0, width])
.domain((function() {
var t = [];
for (var i = 0; i < data.length; i++) {
t.push(i);
}
//返回一个长度数组,保证了数据不重复[0,1,,n]
return t;
})())
/*......*/

var xAxis = d3.svg.axis()
.scale(x)
.tickSize(10, 0)
.tickFormat(function(d) {
//按索引值重新获取原数据并赋给x轴
return data[d];
})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: