C3触发动画并为路径分配id

时间:2015-03-24 16:47:41

标签: javascript jquery d3.js c3.js c3

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

编辑:我发现你可以触发一个选定状态(http://c3js.org/reference.html#api-select),但你必须传递一个id。在我的图表上,没有要传入的ID。有没有办法为每个数据点设置自定义ID?

1 个答案:

答案 0 :(得分:0)

要使用select API调用,您无需指定自己的ID。您可以做的是传入图表所代表的数据集,然后传入要选择的数据集中的数据点的索引。

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

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

这将在对应于salesBreakdown [0]的弧上设置selected状态。 true重置所有其他弧的状态,如果你想进行多选或类似的事情,可以将其保留为假。