为什么d3.js采用svg,而不是采用canvas呢?

发布于 2022-09-03 15:11:56 字数 63 浏览 16 评论 0

感觉canvas在处理大数据的复杂图表的时候比svg效率更高啊,为啥d3.js采用了svg而不是canvas呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

人心善变 2022-09-10 15:11:56

首先d3.js是可以使用canvas的,比如这个示例:https://bl.ocks.org/mbostock/...

不过你会发现大部分的例子和d3项目还是用svg为主,因为作者虽然对canvas做了一些统一的API封装,但总的来说完成度远远没达到svg部分的高度。

另外d3.js专注的是数据可视化,在这个领域,所谓的“复杂图表”又能到多复杂的程度?是否canvas和svg的性能差距已经到了影响用户体验的程度?

也许是先入为主,但总是觉得d3推行的这套data-driven思想和dom元素更契合。

浅沫记忆 2022-09-10 15:11:56

兼容性吧。。。。。。字数补丁

平安喜乐 2022-09-10 15:11:56

canvas和svg都有用。

殤城〤 2022-09-10 15:11:56

我讨厌用 canvas 画矢量图。svg 能够保存矢量图的结构,能够显示真正的(能够搜索和选择的)文本。还可以和 HTML 什么的嵌套着用。

浪漫人生路 2022-09-10 15:11:56

SVG是矢量图,可以随意地缩放。

≈。彩虹 2022-09-10 15:11:56

d3可以用canvas的,大量数据节点的图表(力导向图、数据地图)用canvas更快;
svg用的多因为可以结合css做到结构和样式分离,方便维护;
同时svg是document里的节点,鼠标交互更加方便;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文