用Raphael画圆形分散图

此文参照了Raphael的官网例子以及"纯属偶然_黄勇"大大的JS正余弦计算方式:http://www.cnblogs.com/huangyong8585/p/3142515.html

以下是实现代码:

<html>

<head> 

<title>用Raphael画圆型分散图</title>

<script>

   window.onload = function () {                    

      var r = Raphael("holder", 640, 480), angle = 0,index = 0;     

      var addr = [];     

      addr.push(r.circle(320, 240, 5).attr({fill: "none", "stroke-width": 10}));                

      while (angle < 360) {                    

        var color = Raphael.getColor();            

        var text = '未知';                                     

        (function (t, c,text) {                

            var shape = r.text(320, 30, text);       

            shape.attr({stroke: c, fill: c, transform: t, "fill-opacity": .4});       

            shape.id = text;       

            shape.dblclick(function () {alert(this.id); });                               

            addr.push(shape);                    

        })("r" + angle + " 320 240", color, text);            

        index ++;                    

        angle += 40;                

      }                

      Raphael.getColor.reset();                

      var s = r.set();     

      // 40 为360/9     

      // 320 为x轴圆心坐标 240 为y轴圆心坐标     

      for(var j = 0; j < 9; j ++){      

        var hudu = (2 * Math.PI/360) * 40 * j;      

        var x = 320 + Math.sin(hudu) * 210;      

        var y = 240 - Math.cos(hudu) * 210;

          s.push(r.path("M320,240L" + x + "," + y + "").attr({fill: "none", "stroke-width": 2}));           

      }                

      s.attr({stroke: Raphael.getColor()});            

  };

</script>

</head>

<body>

  <div id="holder"></div>

</body>

</html>

 下面是实现效果:

转载于:https://www.cnblogs.com/wangzhereal/p/4096532.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值