我在项目中多次使用过 Chart.js,但从未使用过 d3.js。很多人说 d3.js 是最好的图表 javascript 框架,但没有人能够解释原因,特别是当我想与 Chart.js 进行比较时。
我发现了这个:http://www.fusioncharts.com/javascript-charting-comparison/ http://www.fusioncharts.com/javascript-charting-comparison/但这不是我想要的。
有谁知道这些框架在可用性和性能方面的比较(仅适用于图表)?
d3.js
不是一个“图表”库。它是一个用于创建和操作 SVG/HTML 的库。它提供了帮助您可视化和操作数据的工具。虽然您可以使用它来创建传统图表(条形图、折线图、饼图等),但它的功能远不止这些。当然,这种“能力如此之大”会带来更陡峭的学习曲线。有很多传统的图表库构建在d3.js
- nvd3.js
, dimple.js
, dc.js
如果你想走那条路。
我不熟悉Chart.js
但快速浏览一下该网站,我会发现它更像是一个普通的图表库。它支持 6 种基本图表类型,而您永远不会这样做stuff http://bl.ocks.org/mbostock/4062006 like http://bl.ocks.org/mbostock/1353700 this http://bl.ocks.org/mbostock/4063550 with http://bost.ocks.org/mike/fisheye/ it http://bl.ocks.org/kerryrodden/7090426. But该 API 看起来很简单,而且我确信它很容易使用。
除此之外,两者之间最明显的区别是Chart.js
是基于画布的,而d3.js
主要是关于SVG。 (现在我说mainly因为d3.js
可以操作所有类型的 HTML 元素你甚至可以用它 http://bocoup.com/weblog/d3js-and-canvas/帮助您在画布上绘图。)一般来说,对于大量元素(我说的是非常大的元素 - 数千个点、线等...),画布的执行效果优于 SVG。另一方面,SVG 更容易操作和交互。使用 SVG,每个点、线等都成为 DOM 的一部分 - 您现在希望该点呈绿色,只需更改它即可。对于画布来说,它是一个静态绘图,需要重新绘制以进行任何更改 - 当然它绘制得如此之快,您通常不会注意到。这是一些好的读物 http://msdn.microsoft.com/en-us/library/ie/gg193983%28v=vs.85%29.aspx来自微软。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)