在D3.js中将多条线添加到折线图中,并且使得每条线的数据源在不同的范围内开始,可以通过以下步骤实现:
var svg = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height);
var xScale = d3.scaleLinear()
.domain([0, data.length - 1]) // 数据的范围
.range([0, width]); // SVG容器的宽度范围
var yScale = d3.scaleLinear()
.domain([0, d3.max(data, function(d) { return d.value; })]) // 数据的范围
.range([height, 0]); // SVG容器的高度范围
var line = d3.line()
.x(function(d, i) { return xScale(i); }) // x坐标使用索引
.y(function(d) { return yScale(d.value); }) // y坐标使用数据值
.curve(d3.curveMonotoneX); // 使用平滑曲线连接数据点
data.forEach(function(dataset) {
svg.append("path")
.datum(dataset)
.attr("class", "line")
.attr("d", line);
});
svg.selectAll(".line")
.style("stroke", function(d, i) { return color(i); }) // 根据索引设置线条颜色
.style("stroke-width", 2); // 设置线条宽度
通过以上步骤,就可以将多条线添加到D3.js折线图中,并且使得每条线的数据源在不同的范围内开始。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云