如何用d3.js制作虚线图例

时间:2016-02-19 22:15:21

标签: d3.js

我通常通过附加一个rect来制作一个线条图例,使它的高度非常小,以使它看起来像一条线。

但现在我需要一个虚线传奇。我不能用我以前的方式做到这一点。任何人都可以向我展示一个如何使用d3.js与append('path')制作线条图例的快速示例吗?

Dashed line legend example

1 个答案:

答案 0 :(得分:6)

您可以使用line DOM:

进行此操作
  var legend = svg.selectAll(".legend")
      .data(ageNames.slice().reverse())//data set for legends
    .enter().append("g")
      .attr("class", "legend")
      .attr("transform", function(d, i) { return "translate(0," + i * 20 + ")"; });

  legend.append("line")//making a line for legend
      .attr("x1", width - 28)
      .attr("x2", width)
      .attr("y1", 10)
      .attr("y2", 10)
      .style("stroke-dasharray","5,5")//dashed array for line
      .style("stroke", color);

  legend.append("text")
      .attr("x", width - 44)
      .attr("y", 9)
      .attr("dy", ".35em")
      .style("text-anchor", "end")
      .text(function(d) { return d; });

工作示例here

希望这项工作