我想让y轴数据标签为空值返回'N / A'。目前没有显示任何内容我尝试使用y-formatter函数来说明y值是否等于null,返回N / A但由于某种原因没有运气?我对Highcharts不太感兴趣,所以请原谅问题的基本性质。
formatter: function() {
if (this.y !== null)
return 'test';
var chart = this.series.chart;
chart.renderer.text('n/a', this.point.plotX - 10, chart.plotHeight - 10).add(this.series.group)
},
以下是JSFiddle的链接:http://jsfiddle.net/v5vJR/
答案 0 :(得分:1)
从dataLabels选项中删除format
。然后你需要正确计算放置标签的位置。 plotY将是未定义的,因为没有值,对吗?
formatter: function () {
var str;
if (this.y !== null) {
return this.y + '%';
} else {
var chart = this.series.chart,
categoryWidth = chart.plotHeight / chart.xAxis[0].categories.length,
offset = (this.point.x + 1) * categoryWidth - this.point.pointWidth + 3; //
chart.renderer.text('n/a', chart.plotLeft, chart.plotTop + offset).add();
}
return false;
},
答案 1 :(得分:0)
解决方案
文档:http://api.highcharts.com/highcharts#Renderer
chart.renderer.text('<span style="color: #a2a5a1">N/A</span>', chart.plotLeft, chart.plotTop + offset)
.css({
color: '#a2a5a1',
fontSize: '11px'
})
.add();