zoukankan      html  css  js  c++  java
  • D3绘制图形的自动居中

    D3绘制图形的自动居中

    看得网上很多D3的资料,但是绘制的图形都没能自动居中,现在用一个简单的实例来自动居中图形。

    我们先生成一个svg画布,注意是用屏幕宽高。

    x = document.body.clientWidth - 100;
    y = document.body.clientHeight - 100;
    var svg = d3.select("body").append("svg")
                            .attr("width",x)
                            .attr("height",y);

    用D3的path绘制一个圆,我们把圆的位置移动到了屏幕正中心。

    pathover = d3.select("svg").append("path")
                            .attr("d",arrow_path)
                            .attr("stroke","red")
                            .attr("fill","none")
                            .attr("transform","translate("+(x)/2+","+(y)/2+")");

    最后就是当屏幕大小改变的时候触发一个函数,然后把圆移动到屏幕的正中心。

    function resizesvg(){
            x = document.body.clientWidth - 100;
            y = document.body.clientHeight - 100;
            //svg.transition()
            ///   .duration(1000)
            //   .attr("width",x)
            //   .attr("height",y);
            pathover.transition()
               .duration(1000)
               .attr("transform","translate("+((x))/2+","+(y)/2+")");
        }

    这样就能保证每次圆都能在屏幕正中心,我还设置了一秒的动画,这样能看到圆的移动。
    最后有什么问题都可以问我,我是初学者。

    最后可以关注我的个人公众号,学习更多相关知识,程序员们都在这里,你又在哪里呢?
    这里写图片描述

  • 相关阅读:
    解决svn working copy locked问题
    如何:给代码加上书签
    Ext Gantt Web甘特图自定义任务树
    Ext Gantt Web甘特图数据结构
    配置Apache服务器(2)
    Ext Gantt Web自定义条形图
    安装Apache服务器(1)
    IF YOU HAVE A DREAM, GO FOR IT RIGHT NOW
    发现自己是这么不理智
    这班上的
  • 原文地址:https://www.cnblogs.com/zhujieblog/p/12816886.html
Copyright © 2011-2022 走看看