Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带三角形标记的拉斐尔饼图-定位_Javascript_Jquery_Css_Raphael - Fatal编程技术网

Javascript 带三角形标记的拉斐尔饼图-定位

Javascript 带三角形标记的拉斐尔饼图-定位,javascript,jquery,css,raphael,Javascript,Jquery,Css,Raphael,我正在用拉斐尔创建一个饼图。这是我在这里找到的一些拉斐尔例子的修改 你会在小提琴上看到图表左侧有箭头。我需要一些帮助,将它们放置在中心相应部分的边缘上tri是三角形路径脚本 如果能在这方面得到任何帮助,我将不胜感激 var angle = -90, total = 0, start = 0, process = function (j) { var value = values[j], angleplus = 180 * val

我正在用拉斐尔创建一个饼图。这是我在这里找到的一些拉斐尔例子的修改

你会在小提琴上看到图表左侧有箭头。我需要一些帮助,将它们放置在中心相应部分的边缘上
tri
是三角形路径脚本

如果能在这方面得到任何帮助,我将不胜感激

 var angle = -90,
    total = 0,
    start = 0,
    process = function (j) {
        var value = values[j],
            angleplus = 180 * value / total,
            popangle = angle + (angleplus / 2),
            color = "hsb(" + start + ", 1, .5)",
            ms = 500,
            delta = 100,
            bcolor = "hsb(" + start + ", 1, 1)",
            p = sector(cx, cy, r, angle, angle + angleplus, {fill: bcolor , stroke: "none"}),
            tri =  paper.path("M 10 25 L 10 75 L 60 75 L 10 25 ").attr ({fill: bcolor , stroke: "none"}),
            txt = paper.text(cx + (r + delta + 55) * Math.cos(-popangle * rad), cy + (r + delta + 25) * Math.sin(-popangle * rad), labels[j]).attr({fill: bcolor, stroke: "none", opacity: 0, "font-family": 'Fontin-Sans, Arial', "font-size": "40px"});

        p.mouseover(function () {
            p.stop().animate({transform: "s1.1 1.1 " + cx + " " + cy}, ms, "elastic");
            txt.stop().animate({opacity: 1}, ms, "elastic");
        }).mouseout(function () {
            p.stop().animate({transform: ""}, ms, "elastic");
            txt.stop().animate({opacity: 0}, ms);
        });

        angle += angleplus;
        chart.push(p);
        chart.push(tri);
        chart.push(txt);
        start += .1;
    };

我认为,如果你解释一下你的立场的一些计算逻辑,你可能会得到更多的答案,因为人们翻阅你的代码会有点困难。我也不确定你的旋转方法,你缺少一个角度吗?旋转不应该在代码中,对不起。现在,图表中的每个部分都画了一个三角形。我可以玩旋转,让它面对正确的方向,但我需要帮助定位在每个部分的边缘他们。恐怕我不能说得更清楚了,因为对代码中发生的事情的深入解释将需要知识,使我能够在没有帮助的情况下完成这项工作。