Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为Highcharts中的堆叠柱形图中的柱禁用堆栈标签_Javascript_Jquery_Graph_Highcharts - Fatal编程技术网

Javascript 为Highcharts中的堆叠柱形图中的柱禁用堆栈标签

Javascript 为Highcharts中的堆叠柱形图中的柱禁用堆栈标签,javascript,jquery,graph,highcharts,Javascript,Jquery,Graph,Highcharts,我有一个像这样的堆叠柱形图。 如果您看到有一列是灰色的,表示它已被禁用。我想在颜色为灰色/或类别为“梨”的列顶部隐藏总计。 我在回答问题时尝试过这种方法,但我不知道如何根据类别类型/列禁用堆栈合计 由于到fiddle.net的链接必须附带代码,因此它是: Highcharts.chart('container'{ 图表:{ 类型:“列” }, 标题:{ 文本:“堆叠柱形图” }, xAxis:{ 类别:[‘苹果’、‘橘子’、‘梨’、‘葡萄’、‘香蕉’] }, 亚克斯:{ 分:0,, 标题:{

我有一个像这样的堆叠柱形图。
如果您看到有一列是灰色的,表示它已被禁用。我想在颜色为灰色/或类别为“梨”的列顶部隐藏总计。

我在回答问题时尝试过这种方法,但我不知道如何根据类别类型/列禁用堆栈合计


由于到fiddle.net的链接必须附带代码,因此它是:

Highcharts.chart('container'{
图表:{
类型:“列”
},
标题:{
文本:“堆叠柱形图”
},
xAxis:{
类别:[‘苹果’、‘橘子’、‘梨’、‘葡萄’、‘香蕉’]
},
亚克斯:{
分:0,,
标题:{
正文:“水果总消费量”
},
堆叠标签:{
启用:对,
风格:{
fontWeight:'粗体',
颜色:(Highcharts.theme&&Highcharts.theme.textColor)| |“灰色”
}
}
},
图例:{
对齐:“右”,
x:-30,
垂直排列:“顶部”,
y:25,
浮动:是的,
背景颜色:(Highcharts.theme&&Highcharts.theme.background2)| |“白色”,
边框颜色:“#CCC”,
边框宽度:1,
影子:错
},
工具提示:{
headerFormat:“{point.x}
”, pointFormat:“{series.name}:{point.y}
总计:{point.stackTotal}” }, 打印选项:{ 专栏:{ 堆叠:“正常”, 数据标签:{ 启用:false, 颜色:(Highcharts.theme&&Highcharts.theme.dataLabelsColor)| |“白色” } }, 系列:{ 活动:{ 后置动画:函数(e){ var图表=e.target.chart; 对于(var j=0;j
就像您认为可以使用格式化程序选项那样:

this.x
是每个类别的数组


您可以使用
yAxis.stackLabels.formatter
()并使用当前标签x值(
this.x
)来查找所需的类别名称

例如():


非常感谢你@halvor。这正是我所需要的。非常感谢@core972你的答案也是正确的,但我想我会使用halvor的答案,因为它让我能够比较类别名称。
stackLabels: {
  enabled: true,
  style: {
    fontWeight: 'bold',
    color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
  },
  formatter:function(){
      if (this.x !== 2) {
        return this.total;
      }
  }
}
yAxis: {
    stackLabels: {
        formatter: function() {
            // if this label is for pears, return nothing
            if(this.axis.chart.xAxis[0].categories[this.x] == 'Pears')
                return;
            // if not, return the default
            else
                return this.total; 
        }
    }
}