我正在使用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/