d3 根据数据绘制svg

Posted 无情码字员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了d3 根据数据绘制svg相关的知识,希望对你有一定的参考价值。

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>

 

以上是关于d3 根据数据绘制svg的主要内容,如果未能解决你的问题,请参考以下文章

D3——绘制SVG图形

.data() 处的 D3 新数据使 svg 重绘而不是更新节点位置

使用 D3 在地图上绘制点

D3绘制空投影的经度/纬度

html D3:svg,line:绘制具有蓝色和线条粗细的交叉线

使D3堆积条形图填充父SVG容器