Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 如何将标记添加到使用Raphael.js创建的甜甜圈图表中?_Javascript_Svg_Raphael_Donut Chart - Fatal编程技术网

Javascript 如何将标记添加到使用Raphael.js创建的甜甜圈图表中?

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"); 请参阅关于使

我需要帮助添加一个标记到我使用raphael.js修改的这个甜甜圈图表脚本。除了一种动态生成三角形标记的方法外,我已经准备好了所有的东西

JSFiddle:

以下是我最终尝试创建的内容:


我不担心样式,只需要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);