d3.js

作者: 子心_ | 来源:发表于2019-07-10 09:12 被阅读0次

    d3.js

    //d3.js是一个数据可视化的库
        <script type="text/javascript" src="d3.js"></script>
        <script type="text/javascript">
            //d3可以操作dom元素
            window.onload = function (){
                let oDiv = d3.select('body').append('div');
                oDiv.style('width','300px');
            }
            //d3主要还是用来操作图形
            window.onload = function (){
                let oSvg = d3.select('body').append('svg');
                oSvg.attr('width',300);
                oSvg.attr('height',800);
                oSvg.append('path').attr('d','M 100 100 L 400 100 100 500').attr('stroke','black').attr('fill','none');
            }
    //d3重点的功能为对图形的计算,generator 生成器
            window.onload = function (){
                let datas = [
                    {name:"1月",value:2108},
                    {name:"2月",value:1108},
                    {name:"3月",value:3108},
                    {name:"4月",value:1108}
                ]
                //创建generator生成器
                let line = d3.line();//折线图生成器
                line.x(json=>parseInt(json.name)*50);
                line.y(json=>json.value/100);
                //调用generator,生成路径
                let gen = line(datas);
                console.log(gen);
                //将生成的路径放到svg中
                let oSvg = d3.select('body').append('svg');
                oSvg.attr('width',800);
                oSvg.attr('height',800);
                oSvg.append('path').attr('d',gen).attr('stroke','black').attr('fill','none');
            }
    
    //d3数组操作
            console.log(d3.max([12,55,98,43]));//返回最大数字==》98
            console.log(d3.min([12,55,98,43]));//返回最小数字==》12
            console.log(d3.extent([12,55,98,43]));//返回数组所在范围==》12,98
            console.log(d3.color());//参数可以使任意的颜色==》red\#002541\grb(255,202,11)
    //d3集合操作
            let set = d3.set([
                {name:'blue',age:18},
                {name:'blu',age:181},
                {name:'ble',age:182},
                {name:'bue',age:183},
                {name:'lue',age:184}
            ],json=>json.name);//调用时返回的是name
            alert(set.has('blu'));
            let map = d3.map([
                {name:'blue',age:18},
                {name:'blu',age:181},
                {name:'ble',age:182},
                {name:'bue',age:183},
                {name:'lue',age:184}
            ],json=>json.name);//调用时返回的是name
            alert(map.get('blu'));
    //d3随机数操作
        d3.randomUniform(0,20)//均值分部==>随即出的数平均分布在0-20之间
        d3.randomNormal(15)//正态分部==>随即出的数大部分靠近15
    //d3数字格式化
        let gen = d3.format('f')//格式化成浮点数,i是转化成int
        alert(gen(73))//==>73.000
        let gen1 = d3.format('08.3f')//长度八位,不足补0,保留小数点后三位
        alert(gen1(73))//==>0073.000
    //d3时间格式化
        let gen = d3.timeFormat('%Y-%-m%-d');
        let t = Date.now();
        alert(gen(t));
    //d3操作队列
    //d3事件分发
        </script>
    

    d3画图

    相关文章

      网友评论

          本文标题:d3.js

          本文链接:https://www.haomeiwen.com/subject/ppvtkctx.html