出发!使用D3.JS作图

出发!使用D3.JS作图

通过上一篇文章介绍,我们大致了解了如何在html中使用svg,同时我们也了解到了直接使用svg的不便。这一篇文章我们便简单使用一下D3.js。

通过之前的介绍我们大概知道,在svg中作图,需要使用不少数据来表示坐标点,路径,填充色等等,这是svg图的关键。

第一步,如使用其他js类库一样,我们先引用D3.JS,这一步我就不多说了。

//直接连接最新版本
< script src="http://d3js.org/d3.v4.min.js"></script> 
//或者下载之后引用
< script src="/Script/d3.js"></script> 

我们之前说了,svg作图中,重要的是“数据”,所以,作图的第一步便是把我们希望使用的“数据”转变为在svg中可使用的数据。转化数据这一步,在使用d3.js的时候,一般会交给“生成器”去做。然后再使用转化好的数据创建图像。

所以总结起来一般步骤为:
1.创建生成器
2.转化数据
3.绘制

那我们来试一下,目标是使用d3.js绘制之前直接使用svg做的圆环。

第一步,创建一个arc生成器。

var arc = d3.arc(); 

第二步,转换数据。

//原始数据
//存在一个对象之中,假设我们要接受后台的数据,接受了直接放在对象中也很方便。
 var myData = {
                innerRadius: 80,//内半径,如果要画圆,设为0
                outerRadius: 100,//外半径
                startAngle: 0,//起始角度,此处使用弧度表示
                endAngle: 2*Math.PI//结束角度
 //数据转化
 var outData = arc(myData); 
 //如果想查看转换之后的数据,可以添加一个alert方法进行查看。
 //alert(outData); 

第三步,绘制

//使用d3.js选择器选择一个节点,插入svg元素
 var svg = d3.select("body")//选择body节点
                .append("svg")//添加svg节点
                .attr("width", 400)//设置svg节点的宽度
                .attr("height", 400);//设置高度
 //在svg中绘制