zoukankan      html  css  js  c++  java
  • [D3] 3. Scaling Basics

    d3.scale.linear()

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script src="../ventor/d3.min.js"></script>
        <style type="text/css">
    
            body
            {
                padding-top: 50px;
                padding-left: 100px;
    
            }
    
            #chartArea {
                width: 400px;
                height: 300px;
                background-color: #CCC;
            }
    
            .bar
            {
                display: inline-block;
                width: 20px;
                height: 75px; /* Gets overriden by D3-assigned height below */
                margin-right: 2px;
                fill: teal; /* SVG doesn't have background prop, use fill instead*/
                z-index:99;
            }
    
        </style>
    </head>
    <body>
    <section id="chartArea"></section>
    <script>
        var dataset = [45,59,17,29,46,68], w = 400, h = 300;
        var svg = d3.select('#chartArea').append('svg')
                .attr('width', w)
                .attr('height', h); //svg deosn't need 'px'
    
        var yScale = d3.scale.linear()
                .domain([0, 68])  // The domain which y can access from min to max
                .range([0, h]);
    
        svg.selectAll('div')
                .data(dataset)
                .enter()
                .append('rect')// svg doesn't have div, use rect instead
                .attr('class', "bar")
                .attr('width', 40)
                .attr('x', function(each_data, index){
                    return index*70;
                })
                .attr('y', function(each_data){
                    return h-yScale(each_data);
                })
                .attr('height', function(each_data, i){
                    return yScale(each_data);
                });
    </script>
    
    <!--
        1. svg should use 'fill' prop instead 'background-color'
        2. svg width & height no need 'px'
        3. attr(function(data_val, index){})
        4. create svg, d3.select('selector').append('svg').attr('width', xxx).attr('height', xx)
        5. svg should use 'rect' instead of 'div'
        -->
    </body>
    </html>
  • 相关阅读:
    jquery animate()方法 语法
    jquery unload方法 语法
    jquery undelegate()方法 语法
    jquery unbind()方法 语法
    jquery trigger() 方法 语法
    jquery toggle()方法 语法
    jquery change() 函数 语法
    jquery blur()函数 语法
    jquery bind()方法 语法
    jquery checked选择器 语法
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4550418.html
Copyright © 2011-2022 走看看