我对D3和折线图中的序数比例有疑问。我得到一个带有格式化字符串的数组“Labels []”,我将“引用”这个字符串到我的X轴。我怎样才能轻松实现这一目标?下面的我的代码不起作用...我的数据域是标签数组中与我的图表范围相对的所有条目!?!谢谢你......
0:“15.08.2013 00:15” 1:“15.08.2013 00:30” 2:“15.08.2013 00:45” 3:“15.08.2013 01:00” 4:“15.08.2013 01:15” 5:“15.08.2013 01:30” 6:“15.08.2013 01:45” 7:“15.08.2013 02:00”
xScale = d3.scale.ordinal()
.rangePoints([0, chartWidth], 0.5)
.domain(Labels.map(function (d, i) {
Labels[i];
}))
xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom");
var line = d3.svg.line()
.x(function (d, i) {
return xScale(Labels[i])
})
.y(function (d) { return yScale(d.Value) })
.interpolate("linear");
答案 0 :(得分:1)
在发布的代码中,未正确配置域,因为您的地图功能未返回值。但即使它返回了一个值,也不需要它。您只需返回Labels
数组的副本即可。如果你没有对数组进行转换,那么只需直接传递它:
xScale = d3.scale.ordinal()
.rangePoints([0, chartWidth], 0.5)
.domain(Labels);