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