Highcharts 海图折叠/展开瀑布

Highcharts 海图折叠/展开瀑布,highcharts,fold,waterfall,unfold,Highcharts,Fold,Waterfall,Unfold,我使用Highcharts watefall(和用于多种度量的堆叠瀑布),它非常强大。 我希望通过动态折叠/展开获得更好的渲染效果。 在以下示例中: 默认情况下,我将隐藏所有california/colorado/dc列(仅显示小计和总计列),当鼠标覆盖小计/总计列时,将显示专用的california/colorado/dc列 我想我可以用 但如何隐藏不是isIntermediateSum的列,并仅显示isIntermediateSum所涉及的列 谢谢,您可以对x轴使用中断,并根据悬停点动态更新

我使用Highcharts watefall(和用于多种度量的堆叠瀑布),它非常强大。 我希望通过动态折叠/展开获得更好的渲染效果。 在以下示例中: 默认情况下,我将隐藏所有california/colorado/dc列(仅显示小计和总计列),当鼠标覆盖小计/总计列时,将显示专用的california/colorado/dc列

我想我可以用

但如何隐藏不是isIntermediateSum的列,并仅显示isIntermediateSum所涉及的列


谢谢,您可以对x轴使用中断,并根据悬停点动态更新图表。例如:

function generateBreaks(hoveredX) {
    const breaks = [];

    for (let i = 3; i < 12; i += 4) {
        if (hoveredX !== i) {
            breaks.push({
                breakSize: 0,
                from: i - 0.5 - 3,
                to: i - 0.5
            });
        }
    }

    return breaks;
};

Highcharts.chart('container', {
    xAxis: {
        ...,
        breaks: generateBreaks()
    },
    ...
});
函数生成器中断(hoveredX){
常数中断=[];
对于(设i=3;i<12;i+=4){
if(hoveredX!==i){
休息,推({
特征尺寸:0,
从:i-0.5-3,
至:i-0.5
});
}
}
回程休息;
};
Highcharts.chart('容器'{
xAxis:{
...,
中断:generateBreaks()
},
...
});

现场演示:


API参考:

Hi@vegalce,您希望如何处理类别?您想只显示/隐藏列还是同时显示/隐藏类别?您好,最好是隐藏列和类别。非常感谢,这正是我需要的。结果如下:但我还有一个小问题需要解决:如何隐藏每个隐藏列的堆栈标签(并在显示列时显示)?Hi@vegaelce,您需要检查堆栈标签是否处于中断状态。请检查此可能的解决方案:
function generateBreaks(hoveredX) {
    const breaks = [];

    for (let i = 3; i < 12; i += 4) {
        if (hoveredX !== i) {
            breaks.push({
                breakSize: 0,
                from: i - 0.5 - 3,
                to: i - 0.5
            });
        }
    }

    return breaks;
};

Highcharts.chart('container', {
    xAxis: {
        ...,
        breaks: generateBreaks()
    },
    ...
});