我正在使用chart.js v2,并且尝试在加载图表时模拟甜甜圈图上某个段的​​悬停状态,因此看起来有一个突出显示的部分。

我已经搜索和梳理了一天的代码,却找不到解决此问题的好方法。

提前致谢!

最佳答案

设置线段的悬停样式会有些混乱,因为它在任何地方都没有真正记录。不过,当我想突出显示图例标签悬停的片段时,我还是能够弄清楚。

为此,您需要使用饼图.updateHoverStyle()原型方法并传递要突出显示的段。图表分段存储在数组的_meta对象中,其中每个分段索引与图表数据数组中每个值的位置匹配。

这是一个示例(假设您的图表实例存储在名为myPie的变量中。

// get the segment we want to highlight
var activeSegment = myPie.data.datasets[0]._meta[0].data[segmentIndexToHihlight];

// update the hover style
myPie.updateHoverStyle([activeSegment], null, true);

// render so we can see it
myPie.render();


您只需要定义要突出显示的段并将其存储在名为segmentIndexToHihlight的var中即可。

这是codepen example演示的。注意,我故意没有突出显示正在加载的段(我等待3秒钟),以便您可以看到更改的发生。

关于javascript - Chart.js在初始化时设置事件分割,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42816185/

10-11 13:59