如何向多线系列图表添加图例?我尝试了但未能显示出任何图例。
这里的代码块:
当各个系列汇聚到同一点(如零)时,存在缺陷。所有标签将重叠在彼此之上。与其使用这些标签,传统的图例会更实用。
我尝试添加以下内容
var legend = svg.append("g")
.attr("class", "legend")
.attr("height", 100)
.attr("width", 100)
.attr('transform', 'translate(-20,50)');
legend.selectAll('rect')
.datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; })
.append("rect")
.attr("x", width)
.attr("y", function(d, i){ return i * 20;})
.attr("width", 10)
.attr("height", 10)
.style("fill", function(d) {
return color.domain(d3.keys(d[0]).filter(function(key) { return key !== "day"; }));
});
legend.selectAll('text')
.datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; })
.append("text")
.attr("x", width)
.attr("y", function(d, i){ return i * 20 + 9;})
.text(function(d) {
return d.name;
});
到了代码的末尾,键名(d.name)与我的数据格式匹配,但没有显示。有一次它显示在图表右侧的所有黑框,这意味着我接近成功了,但我还缺少一些重要的东西。感谢任何见解。