Javascript 如何将标记添加到使用Raphael.js创建的甜甜圈图表中?
我需要帮助添加一个标记到我使用raphael.js修改的这个甜甜圈图表脚本。除了一种动态生成三角形标记的方法外,我已经准备好了所有的东西 JSFiddle: 以下是我最终尝试创建的内容:Javascript 如何将标记添加到使用Raphael.js创建的甜甜圈图表中?,javascript,svg,raphael,donut-chart,Javascript,Svg,Raphael,Donut Chart,我需要帮助添加一个标记到我使用raphael.js修改的这个甜甜圈图表脚本。除了一种动态生成三角形标记的方法外,我已经准备好了所有的东西 JSFiddle: 以下是我最终尝试创建的内容: 我不担心样式,只需要marker元素的帮助,它将指示传递给donutChart函数的avg参数在图表中的位置。正如@Ian所说,您可以使用路径绘制三角形: // triangle var tri = paper.path("M100 50 L90 40 L110 40 L100 50 Z"); 请参阅关于使
我不担心样式,只需要marker元素的帮助,它将指示传递给donutChart函数的avg参数在图表中的位置。正如@Ian所说,您可以使用
路径
绘制三角形:
// triangle
var tri = paper.path("M100 50 L90 40 L110 40 L100 50 Z");
请参阅关于使用路径(its命令)
然后您需要旋转/平移(同样如@Ian所说),但SVG在这里帮助您提供了一种方法,该方法不仅需要旋转角度,还需要旋转点的坐标(它为您平移坐标)
这里唯一需要注意的是,您需要之前和当前百分比的差异
工作是否可以使用var tri=paper.path(“M1001001301001100130Z”);然后旋转/翻译它取决于多少或什么?嘿@Ian-对不起,我应该澄清一下,我真的没有任何生成SVG的经验。我在另一个SO问题中找到了上面的代码,并对其进行了轻微修改,使其更符合我所寻找的内容,但对于绘制和生成路径,我不知道从何处开始。你有没有可能尝试用你的建议更新提琴上的例子?谢谢你更新的提琴!我对你的设置做了一些修改,以进一步模拟我最终产品所需的内容,我想知道你是否知道如何在三角形中着色,或者是否可能在圆圈内添加一条直线,类似于上图。这很容易。事实上,你的代码中有所有的部分来解决这个问题,很好!我从这里学到了很多关于SVG的知识,再次感谢@twil的帮助!
// triangle
var tri = paper.path("M100 50 L90 40 L110 40 L100 50 Z");
tri.rotate((howMuch[2] - prev_percent) * 3.6, 100, 100);