Highcharts删除零值标签

时间:2012-05-26 12:45:09

标签: jquery highcharts

我正在我的网站中实现高级图表,但从演示的角度来看,这证明是具有挑战性的。

我的数据加载正常,但对于该系列,某些值为零。我想在不为零时显示标签,否则会变得难以阅读。

我正在尝试做这样的事情:

plotOptions: {
   column: {
    stacking: 'normal',
    dataLabels: {
           enabled: this.value == 0 ? false : true,
       color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white' }
}
}

但这不起作用。我试过只使用'this'而不是值,但也没有拿起它。 我无法从库中找到允许我这样做的默认选项,而无需创建自定义代码。

我已经检查了几种方法,但零是其中一个系列。所以我仍然想要为该组的非零值提供标签。

我认为当一个人说这个时,它需要整个团队的价值,而不是个人系列......

有什么建议吗?显然我做错了什么!

1 个答案:

答案 0 :(得分:54)

您是否尝试使用formatter的{​​{1}}选项?您应该能够访问其中的数据并确定标签的外观。在这里,您可以检查零,然后返回下面显示的dataLabels

null

此外,如果您无法确定要查看的数据部分,请在格式化程序功能中使用dataLabels: { enabled: true, color: colors[0], style: { fontWeight: 'bold' }, formatter: function() { if (this.y != 0) { return this.y +'%'; } else { return null; } } } ,以便查看正在使用的对象。

查看这个有效的jsfiddle示例:http://jsfiddle.net/VLmKK/69/

希望有所帮助!

更新:返回null而不是空字符串,以避免创建Brett评论中提到的不可见标签。感谢。

您也可以{零}值not return anything