我有两个javasrcript数组,用于在d3.js折线图中作为数据传递。我想将字符串值映射为x轴域。但它没有正确映射。 Data2
数组包含year作为字符串值。
xScale = d3.scale.linear().range([MARGINS.left, WIDTH - MARGINS.right]).domain(data2.map(function (d) { return d.year; })),
然后lineGen(data2)
给出NaN值。
JsFiddle在这里: http://jsfiddle.net/nyngd3sz/
d3.js很新。这可能是一个小错误。
感谢。
答案 0 :(得分:3)
由于值是字符串而不是数字,因此您必须使用序数标度。请参阅更多here。
试试这种方式。
var xScale = d3.scale.ordinal().range([MARGINS.left, WIDTH - MARGINS.right]).domain(data2.map(function (d) { return d.year; }))