0

冒着问一个愚蠢问题的风险,为什么d3.box代码演示)中的每个箱线图都放在自己的 svg 元素中?(更一般地说,放置在它自己的容器元素中。)或者换一种说法,为什么d3.box只渲染图表的一个组件,而不是图表的所有组件?(假设每个箱线图可能共享一个共同的 y 轴。)

在此先感谢您的任何建议。我敢肯定这有一个合理的理由。我只是不清楚!

4

1 回答 1

2

从技术上讲,没有理由将所有内容都放入自己的 SVG 中。我不知道为什么在示例中这样做,但通常您会将所有内容都放在一个 SVG 中,并使用svg:g元素对元素进行分组。

大多数d3组件通常只做一件事的原因是更容易组合它们。例如,如果d3.box渲染xy轴(或仅其中一个),则必须为不需要轴、不同轴布局或实施者设计方式未涵盖的任何其他人提供选项。

如果您正在寻找更高级的东西来处理所有事情,请查看nvd3.js

于 2012-12-16T23:19:17.337 回答