Charts 以编程方式突出显示区域-Chart.js

Charts 以编程方式突出显示区域-Chart.js,charts,chart.js,Charts,Chart.js,我正在使用Chart.js(甜甜圈图表),我想问一下,是否有任何选择以编程方式突出显示区域?我的意思是-当我点击一个按钮时,特定区域将突出显示 感谢您的回复。只需在甜甜圈部分循环,根据标签进行匹配,并交换/恢复填充颜色即可 function highlight(label) { myDoughnutChart.segments.forEach(function (segment, i) { if (segment.label == label) {

我正在使用Chart.js(甜甜圈图表),我想问一下,是否有任何选择以编程方式突出显示区域?我的意思是-当我点击一个按钮时,特定区域将突出显示


感谢您的回复。

只需在甜甜圈部分循环,根据标签进行匹配,并交换/恢复填充颜色即可

function highlight(label) {
    myDoughnutChart.segments.forEach(function (segment, i) {
        if (segment.label == label) {
            if (segment.fillColor == segment.highlightColor)
                segment.restore(["fillColor"]);
            else
                segment.fillColor = segment.highlightColor;
            myDoughnutChart.render();                    
        }
    })
}
小提琴-

我已经通过设置ToolTipeEvents=[]禁用了工具提示和工具提示高亮显示,但是如果您想要恢复它们,您可以始终将其从选项中删除,但是悬停/鼠标移出和单击按钮也会执行相同的操作


要在突出显示时也弹出工具提示,请使用

function highlight(label) {
    myDoughnutChart.segments.forEach(function (segment) {
        if (segment.label == label) {
            if (segment.fillColor == segment.highlightColor)
                segment.restore(["fillColor"]);
            else 
                segment.fillColor = segment.highlightColor;

            myDoughnutChart.render()
        }
    })

    var activeSegements = [];
    myDoughnutChart.segments.forEach(function (segment) {
        if (segment.fillColor === segment.highlightColor) {
            activeSegements.push(segment)
        }
    });

    myDoughnutChart.showTooltip(activeSegements, true)
}

供参考小提琴不再工作,您需要替换指向Chart.min.js的链接
我用这些来让它们工作:

对于油炸圈饼图,一个区域可以是一个扇区或一组连续扇区-这是您想要突出显示的区域还是图表上某个地方的矩形区域?谢谢,您的代码可以工作。但是你能添加一个显示工具提示的例子吗?对不起,我是初学者。