1. D3与Echarts区别
1)D3使用svg绘制图形,ecahrts使用canvas绘制图形
2)D3兼容ie9以上,echarts兼容ie6以上
3)D3使用灵活,学习成本大。encharts是封装好的,使用简单,不够灵活。
4)D3是一种偏函数式编程,svg可以操作dom,支持事件处理器,想要实现某个操作,直接调用相关的方法实现效果就行,他那个里面存在链式语法,这个和jQuery的链式调用差不多,简单易读。canvas不支持事件处理器所以只能展示数据,而不能修改,只能修改其配置。
2. D3与echart的适用场景
因为D3支持事件处理器可以操作dom,所以如果在项目开发中如果有较多用户交互的场景,可以使用D3。如果项目中一般没有用户交互的场景,我们只需要将图表展示给用户看,而不需要更改,可以使用echarts。因为D3它展示的每一个数据都是一个标签,所以当数据发生改变的时候图表会重新渲染,会不停的操作dom,这对性能的消耗是非常大的。
引入:
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
选择器
// 选择<body>中所有的<p>,其文本内容为 www.ourd3js.com,选择集保存在变量 p 中
var p = d3.select("body") .selectAll("p") .text("www.ourd3js.com"); // 链式语法
// 修改段落的颜色和字体大小 p.style("color","red") .style("font-size","72px");
使用 d3.select():选择一个元素
或 d3.selectAll():选择所有元素
选择元素后返回的对象,就是选择集。