Javascript D3图表图例

Javascript D3图表图例,javascript,html,d3.js,charts,Javascript,Html,D3.js,Charts,使用html而不是svg创建图表图例是一种不好的做法吗? 例如,而不是 d3.select('g.chart-legend').append('text') .text('ID'); 使用html d3.select(div.chart-legend').append('span') .text('ID'); 不,不是。这取决于需求。一般来说,如果使用基于svg的图例,则相对于svg元素绘制形状和放置图例会更容易;如果使用基于html的图例,则在动态获取图例的情况下,文本回流会更容易

使用html而不是svg创建图表图例是一种不好的做法吗? 例如,而不是

d3.select('g.chart-legend').append('text')
  .text('ID');
使用html

d3.select(div.chart-legend').append('span')
  .text('ID');

不,不是。这取决于需求。一般来说,如果使用基于svg的图例,则相对于svg元素绘制形状和放置图例会更容易;如果使用基于html的图例,则在动态获取图例的情况下,文本回流会更容易。如果您最终可能会有很多带有长文本的图例和/或查看响应性布局,则可能会很有用


请注意,如果要添加基于html的图例,则必须在根svg元素之外添加图例。因此,图表的一部分将位于svg之外。因此,如果您正在寻找任何保存svg或序列化svg的方法,您将错过图例。

试试看。如果代码中有一个输入错误,那么选择将引用一个divGood points,因为现在图例只是一个带有一些文本的圆圈,没有保存/序列化的计划。我想我可以使用html,直到需要做更复杂的事情。