d3 根据数据绘制svg

时间:2022-11-20 14:30:51
var dataset = [ 5, 10, 15, 20, 25 ];

var circles = svg.selectAll("circle")
                 .data(dataset)
                 .enter()
                 .append("circle");

circles.attr("cx", function(d, i) {
        return (i * 50) + 25;
    })
   .attr("cy", h/2)
   .attr("r", function(d) {
        return d;
   });

根据dataset里面的数据设置svg circle的坐标以及半径

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>testD3-7-drawSVG.html</title>
    <script type="text/javascript" src="http://localhost:8080/spring/js/d3.js"></script>
<style type="text/css">
    </style>
</head>
<body>
<script type="text/javascript">
    // SVG尺寸
    var w = 500;
    var h = 50;

    // 数据
    var dataset = [ 5, 10, 15, 20, 25 ];

    // 创建SVG容器
    var svg = d3.select("body")
                .append("svg")
                .attr("width", 500)
                .attr("height", 50);

    // 创建圆
    var circles = svg.selectAll("circle")
        .data(dataset)
        .enter()
        .append("circle");

    // 根据数据设置每个圆的属性
    circles.attr("cx", function(d, i) {
            return (i * 50) + 25;
        })
       .attr("cy", h/2)
       .attr("r", function(d) {
            return d;
       });
</script>

</body>
</html>