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;
}
}
}