Javascript Highcharts顶部的堆叠列标签

Javascript Highcharts顶部的堆叠列标签,javascript,highcharts,Javascript,Highcharts,我希望所有堆叠的列标签都在顶部,彼此重叠。 这可能吗。我尝试了各种组合,例如通过填充向上移动标签,但这不是动态的,如果类别的值发生变化,也不会起作用。一个选项是简单地在堆栈标签的格式化程序中循环数据。例如(): yAxis:{ 堆叠标签:{ 启用:对, y:-30, 格式化程序:函数(){ 常量系列=this.axis.chart.series 常量值=[]; for(设i=0;i

我希望所有堆叠的列标签都在顶部,彼此重叠。


这可能吗。我尝试了各种组合,例如通过填充向上移动标签,但这不是动态的,如果类别的值发生变化,也不会起作用。

一个选项是简单地在堆栈标签的格式化程序中循环数据。例如():

yAxis:{
堆叠标签:{
启用:对,
y:-30,
格式化程序:函数(){
常量系列=this.axis.chart.series
常量值=[];
for(设i=0;i”);
},
}
}

请注意,当使用

作为分隔符值时,您可能需要进行某种
y
偏移(如示例中所示),使其显示在顶部。

非常感谢!这就是我想要的!有没有可能使这些数字中的每一个都有不同的颜色?如果是这样的话,我该怎么做呢。我可以让它们都变成不同的颜色,但不知道如何单独控制它们。@Alex。你需要
useHTML
,然后用一些HTML来实际上色。最后一个问题,你太棒了!所以当我隐藏一个系列时,它会隐藏它,但我如何让格式化程序知道我隐藏的是一个系列,而不是标签上所有系列的值?@Alex我不确定我是否理解,但你的意思是
if(series[I].visible)
。。。?
yAxis: {
    stackLabels: {
        enabled: true,
        y: -30,
        formatter: function() {
          const series = this.axis.chart.series
          const values = [];

          for(let i = 0; i < series.length; i++) {
            values.push(series[i].yData[this.x]);
          }

            return values.join("<br>");
        },
    }
}