zoukankan      html  css  js  c++  java
  • d3.js <一>

      1 <html> 
      2   <head> 
      3         <meta charset="utf-8"> 
      4         <title>HelloWorld</title> 
      5   </head> 
      6     <body> 
      7         <p>Hello World 1</p>
      8         <p>Hello World 2</p>
      9 <!--         <p>Hello World 1</p>
     10         <p>Hello World 2</p> -->
     11         <div id="con"></div>
     12         <div id="chart01"></div>
     13         <bottom><button type="button" onclick="myadd()">add</button><button type="button" onclick="mysort()">sort</button></bottom>
     14         <script src="./jquery-2.1.4.min.js" charset="utf-8"></script>
     15         <script src="./d3.js" charset="utf-8"></script>
     16         <script>  
     17            // var p = d3.select("body").selectAll("p");
     18            // // p.datum("Thunder").append("span").text(function(d, i) {
     19            // //  return d + " " + i;
     20            // // });
     21 
     22            //  var dataset = [{"id":1, "name":"张三"},
     23            //  {"id":2, "name":"张三2"},
     24            //  {"id":3, "name":"张三3"},
     25            //  {"id":4, "name":"张三4"}];
     26            //  var update = p.data(dataset);
     27 
     28            //  update.text(function(d) {
     29            //     return d.id + "--" + d.name;
     30            //  });
     31 
     32            //  update.enter().append("p").text(function(d) {
     33            //     return d.id + "--" + d.name;
     34            //  });
     35 
     36            //  var condiv = d3.select(document.getElementById("con"));
     37 
     38            //  condiv.selectAll("span").data(dataset).enter().append("span").text(function(d) {
     39            //     return d.id + "---" + d.name;
     40            //  });
     41 
     42            //  var numbers = [12, 23, 25, 67, 5, 26, 19, 8];
     43            //  console.log(d3.min(numbers, function(d) {return d * 3;}));
     44            //  console.log(d3.max(numbers));
     45            //  console.log(d3.extent(numbers, function(d) {
     46            //     return d % 3;
     47            //  }));
     48            //  console.log(d3.sum(numbers));
     49 
     50            //  console.log(d3.mean(numbers));
     51 
     52            //  console.log(d3.median(numbers));
     53            //  console.log(numbers.sort(d3.ascendind));
     54            //  console.log(d3.quantile(numbers, 19.0));
     55             // p.data(dataset, function(d) {return d.id;}).text(function(d) {
     56             //    return d.id + " " + d.name;
     57             // });
     58             // console.log(update);
     59             // console.log(update.enter());
     60             // console.log(update.exit());
     61 
     62            // console.log(p);
     63             var dataset = [30, 45, 23, 69, 160, 55, 99];
     64             var chart01 = d3.select(document.getElementById("chart01"));
     65             var width = 800;
     66             var height = 400;
     67             var padding = {"top": 20, "right": 20, "left": 20, "bottom": 20};
     68             var rectStep = 55;
     69             var rectWidth = 45;
     70 
     71             var svg = chart01
     72                .append("svg")
     73                .attr("width", width)
     74                .attr("height", height);
     75 
     76             var rect = svg.selectAll("rect")
     77                .data(dataset)
     78                .enter()
     79                .append("rect")
     80                .attr("fill", "steelblue")
     81                .attr("x", function(d, i) {
     82                   return padding.left + i * rectStep;
     83                })
     84                .attr("y", function(d) {
     85                   return height - padding.bottom - d;
     86                })
     87                .attr("width", rectWidth)
     88                .attr("height", function(d) {
     89                   return d;
     90                });
     91 
     92             var text = svg.selectAll("text")
     93                .data(dataset)
     94                .enter()
     95                .append("text")
     96                .attr("text-anchor", "middle")
     97                .attr("fill", "white")
     98                .attr("x", function(d, i) {
     99                   return padding.left + i * rectStep;
    100                })
    101                .attr("y", function(d) {
    102                   return height - padding.bottom - d;
    103                })
    104                .attr("width", rectWidth)
    105                .attr("height", function(d) {
    106                   return d;
    107                })
    108                .attr("dx", rectWidth/2)
    109                .attr("dy", "1em")
    110                .text(function(d) {
    111                   return d;
    112                });
    113 
    114             function redraw(dataset) {
    115                var updateRect = svg.selectAll("rect").data(dataset);
    116                var enterRect = updateRect.enter();
    117                var exitRect = updateRect.exit();
    118 
    119                var updateText = svg.selectAll("text").data(dataset);
    120                var enterText = updateText.enter();
    121                var exitText = updateText.exit();
    122 
    123                updateRect.attr("fill", "steelblue")
    124                .attr("x", function(d, i) {
    125                   return padding.left + i * rectStep;
    126                })
    127                .attr("y", function(d) {
    128                   return height - padding.bottom - d;
    129                })
    130                .attr("width", rectWidth)
    131                .attr("height", function(d) {
    132                   return d;
    133                });
    134 
    135                enterRect.append("rect")
    136                .attr("fill", "steelblue")
    137                .attr("x", function(d, i) {
    138                   return padding.left + i * rectStep;
    139                })
    140                .attr("y", function(d) {
    141                   return height - padding.bottom - d;
    142                })
    143                .attr("width", rectWidth)
    144                .attr("height", function(d) {
    145                   return d;
    146                });
    147 
    148                exitRect.remove();
    149 
    150                updateText.attr("text-anchor", "middle")
    151                .attr("fill", "white")
    152                .attr("x", function(d, i) {
    153                   console.log("de-->" + d + "	-->" + i + "	e-->" + (padding.left + i * rectStep));
    154                   return padding.left + i * rectStep;
    155                })
    156                .attr("y", function(d) {
    157                   return height - padding.bottom - d;
    158                })
    159                .attr("width", rectWidth)
    160                .attr("height", function(d) {
    161                   return d;
    162                })
    163                .attr("dx", rectWidth/2)
    164                .attr("dy", "1em")
    165                .text(function(d) {
    166                   return d;
    167                });
    168 
    169                enterText.append("text")
    170                .attr("text-anchor", "middle")
    171                .attr("fill", "white")
    172                .attr("x", function(d, i) {
    173 
    174                   console.log("d-->" + d + "	-->" + i + "	e-->" + (padding.left + i * rectStep));
    175                   return padding.left + i * rectStep;
    176                })
    177                .attr("y", function(d) {
    178                   return height - padding.bottom - d;
    179                })
    180                .attr("width", rectWidth)
    181                .attr("height", function(d) {
    182                   return d;
    183                })
    184                .attr("dx", rectWidth/2)
    185                .attr("dy", "1em")
    186                .text(function(d) {
    187                   return d;
    188                });
    189 
    190                exitText.remove();
    191             }
    192 
    193             function myadd() {
    194                dataset.push(Math.floor(Math.random() * 100));
    195                console.log(dataset);
    196                redraw(dataset);
    197             }
    198 
    199             function mysort() {
    200                dataset.sort(d3.ascending);
    201                redraw(dataset);
    202             }
    203         </script> 
    204     </body> 
    205 </html>
  • 相关阅读:
    .NET Framework Execution Was Aborted By Escalation Policy
    语句获取作业属性、历史记录
    Login failed知多少
    数据库代理错误日志
    微信小程序资料
    时间进度条,根据时间,显示任务进度条
    两个select 左右添加,上下移动
    图片轮播无缝接
    CSS3简单的栅格系统
    JavaScript DOM节点和文档类型
  • 原文地址:https://www.cnblogs.com/linkong1081/p/5026708.html
Copyright © 2011-2022 走看看