Javascript C3触发动画并为路径指定id

Javascript C3触发动画并为路径指定id,javascript,jquery,d3.js,c3.js,c3,Javascript,Jquery,D3.js,C3.js,C3,我正在使用c3.js,这是一个基于D3的可重用图表库。我还为一个面包圈图表创建了自己的图例,里面有一个饼图。我想链接图例和图表,这样,如果我单击图例项,它将在图例div和圆环图/饼图上相应的路径元素上触发动画,反之亦然,单击饼图/圆环图路径将在两者上触发动画。我知道您可以为c3项目设置onclick事件侦听器,但如果没有任何id,我无法识别相应的图例div。此外,如果我在图例div上设置了单击处理程序,我将不知道相应的路径,也不知道如何触发c3的内置单击动画 编辑:我发现您可以触发所选状态,但必

我正在使用c3.js,这是一个基于D3的可重用图表库。我还为一个面包圈图表创建了自己的图例,里面有一个饼图。我想链接图例和图表,这样,如果我单击图例项,它将在图例div和圆环图/饼图上相应的路径元素上触发动画,反之亦然,单击饼图/圆环图路径将在两者上触发动画。我知道您可以为c3项目设置onclick事件侦听器,但如果没有任何id,我无法识别相应的图例div。此外,如果我在图例div上设置了单击处理程序,我将不知道相应的路径,也不知道如何触发c3的内置单击动画

编辑:我发现您可以触发所选状态,但必须向其传递id。在我的图表上,没有要传递的id。有没有为每个数据点设置自定义id的方法?

为了使用select API调用,您不需要分配自己的id。您可以做的是传入由图形表示的数据集,然后传入要选择的数据集中数据点的索引

例如,您的甜甜圈图表正在绘制一个名为salesBreakdown的数据集,该数据集包含10个元素。当有人单击图例上的第一个div时,您可以调用:

chart.select(['salesBreakdown'], [0], true);  

这将在对应于salesBreakdown[0]的arc上设置所选状态。“真”将重置所有其他弧的状态,如果您想执行“多选”或类似操作,可以将此项保留为“假”。

2年过去了,74个声誉问题仍然以这种令人不快的方式格式化问题。。我很失望。请包括一些代码。对不起,我从来没有看到过格式约定。你能给我指一个能教我的地方吗?检查一下: