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

 幸福璞子难_197 发布于 2022-11-09 14:04

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

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

    2022-11-12 01:47 回答
  • SVG是矢量图,可以随意地缩放。

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

    2022-11-12 01:47 回答
  • canvas和svg都有用。

    2022-11-12 01:47 回答
  • 兼容性吧。。。。。。字数补丁

    2022-11-12 01:47 回答
  • 首先d3.js是可以使用canvas的,比如这个示例:https://bl.ocks.org/mbostock/...

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

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

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

    2022-11-12 01:47 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有