highcharts柱形图显示当整列数据总数为0时的总和0

时间:2014-03-10 10:04:59

标签: jquery highcharts

我正在使用高图创建柱形图,如果所有字段都为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
});

} 

2 个答案:

答案 0 :(得分:2)

如果这足以选择中间列,并显示上面的零,那么这样的事情就可以解决问题: http://jsfiddle.net/6hxPU/20/

当然,如果您的列数为偶数,则零将不会居中。在这种情况下,我认为您可以做的最好的事情是根据列高度找到放零的位置,并直接用Highcharts.Renderer()绘制。

答案 1 :(得分:0)

您可以在每个点上使用循环,并删除stackLabel的SVG对象。