zoukankan      html  css  js  c++  java
  • D3基础---简介和数据

    D3.js是一种数据操作类型的javascript库(也可视其为插件);结合HTML,SVG和CSS,D3可以图形化的,生动的展现数据。

    d3获取:http://d3js.org/

    在代码文件中引入D3:

    <script type="text/javascript" src="d3.v3/d3.v3.js"></script>

    添加元素语法:

    d3.select("body").append("p").text("New paragraph!");

    说明:选择body标签,为之添加一个p标签,并设置它的内容为New paragraph!

     

    你可以将链接选择换行,这样代码结构更清晰:

    1 d3.select("body")  
    2      .append("p")  
    3      .text("New paragraph!"); 

    还可以避免使用链接语法(这个一般不会用上)

    1 var body = d3.select("body");  
    2 var p = body.append("p");  
    3 p.text("New paragraph!"); 

     

    D3可以处理哪些类型的数据

    它会接受几乎任何数字数组,字符串,或对象(本身包含其他数组或键/值对)。
    它可以处理JSON和GeoJSON
    甚至有一个内置的方法来帮助你CSV文件中加载数据。

    我们要做两件事:数据准备;元素选择。

     1  <!DOCTYPE html>  
     2   <html>  
     3     <head>  
     4       <title>testD3-1.html</title>  
     5      <script type="text/javascript" src="d3.v3.js"></script>  
     6     </head>  
     7       
     8     <body>  
     9       This is my HTML page. <br>  
    10    </body>  
    11    <script type="text/javascript">  
    12      var dataset = [ 5, 10, 15, 20, 25 ];    
    13      d3.select("body").selectAll("p")  
    14        .data(dataset)  
    15        .enter()  
    16        .append("p")  
    17        .text("New paragraph!");  
    18    </script>  
    19 </html>  

    说明:

    d3.select("body")
    查找DOM中的body和准备链中的下一个步骤的参考。

    selectAll("p")
    选择DOM中的所有段落。由于没有存在,这将返回一个空的选择。这个选择为空,代表段落很快就会存在。

    data(dataset)
    计数和分析我们的数据值。有五个值,之后我们的数据集执行了5次,每个值一次。

    enter()
    要创建新的数据绑定的元素,你必须使用enter() 。这个方法会在DOM中,然后被传递给它的数据。如果有更多的数据值比相应的DOM元素,然后进入() 创建一个新的占位符元素,关闭的引用到这个新的占位符链中的下一个步骤。

    append("p")
    以占位符enter() 到DOM中插入一个p元素。

    text("New paragraph!")
    将新创建的p和插入一个文本值的参考。

    使用数据

    说明:

    用一个d表示当前数据值。

    可以使用一个匿名函数处理这个数据。

    接上面一个例子可以显示数据值,还可以根据数据值来修改颜色值做不同的数据呈现。

    示例:

     1 <!DOCTYPE html>  
     2 <html>  
     3   <head>  
     4         <meta charset="utf-8">  
     5         <title>testD3-3.html</title>  
     6         <script type="text/javascript" src="d3.v3.js"></script>  
     7     </head>  
     8     <body>  
     9         <script type="text/javascript">  
    10           
    11             var dataset = [ 5, 10, 15, 20, 25 ];  
    12               
    13             d3.select("body").selectAll("p")  
    14                 .data(dataset)  
    15                 .enter()  
    16                 .append("p")  
    17                 .text(function(d) {  
    18                     return "I can count up to " + d;  
    19                 })  
    20                 .style("color", function(d) {  
    21                     if (d > 15) {    //Threshold of 15  
    22                         return "red";  
    23                     } else {  
    24                         return "black";  
    25                     }  
    26                 });  
    27               
    28         </script>  
    29     </body>  
    30 </html>  

    效果:

    参考书籍:《数据可视化实战》

  • 相关阅读:
    AGC003E
    Vegetable's Refrain
    error C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _stricmp.
    给linux shell 添加ll命令支持
    编译WDF驱动项目时,缺少WDKConversionPreConfiguration.props文件的问题
    idea报错:Please, configure Web Facet first!以及打开网页后出现:HTTP状态 404
    php安装gd库
    Shell下实现免密码快速登陆MySQL数据库的方法
    mysql命令导入百万数据
    java 两个数字相除后保留小数点
  • 原文地址:https://www.cnblogs.com/ttcc/p/3876622.html
Copyright © 2011-2022 走看看