我正在使用高图创建柱形图,如果所有字段都为0,则显示0。如果该特定类别中的所有数据都为0(即总数为0),我希望每个类别显示单个0 请参阅http://jsfiddle.net/rutup/6hxPU/18/
function createBarChart(source, title, placeHolderId, sideText, xColumnValue) {
$('#' + placeHolderId).highcharts({
credits: { enabled: false },
chart: {
type: 'column'
},
exporting: { enabled: false },
title: {
text: false
},
xAxis: {
categories: xColumnValue
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
y: 20,
borderWidth: 0,
enabled: true
},
yAxis: {
min: 0,
minRange: 0,
lineWidth: 0,
gridLineWidth: 0,
title: {
text: sideText
},
labels: {
enabled: false
}
},
stackLabels: {
enabled: true,
style: {
fontWeight: 'bold',
color: 'gray'
},
formatter: function () {
return calcAntiLog(this.y) == null ? 0 : calcAntiLog(this.y);
}
},
tooltip: {
formatter: function () {
return '<b>' + this.x + '</b><br/>' +
this.series.name + ': ' + (calcAntiLog(this.y) == null ? 0 : calcAntiLog(this.y));
}
},
plotOptions: {
column: {
dataLabels: {
enabled: true
, formatter: function () {
return calcAntiLog(this.y) == null ? 0 : calcAntiLog(this.y);
}
}
}
},
series: source
});
}
答案 0 :(得分:2)
如果这足以选择中间列,并显示上面的零,那么这样的事情就可以解决问题: http://jsfiddle.net/6hxPU/20/
当然,如果您的列数为偶数,则零将不会居中。在这种情况下,我认为您可以做的最好的事情是根据列高度找到放零的位置,并直接用Highcharts.Renderer()
绘制。
答案 1 :(得分:0)
您可以在每个点上使用循环,并删除stackLabel的SVG对象。