如果值为负,则Highcharts将数据标签与x轴对齐

时间:2013-01-14 23:39:21

标签: javascript html graph highcharts

我有一张启用了数据标签的Highcharts图表。默认情况下,数据标签会附加到每个数据栏的末尾(请参阅此小提琴:http://jsfiddle.net/cyphun/NHCvW)。

是否可以移动负数据标签并将其显示在x轴旁边而不是条形的末端?这是我想要做的屏幕截图:

http://cl.ly/image/2G3F0I2l2m1z

以下是我的Highcharts示例代码的副本:

$(function () {
    var chart;
    $(document).ready(function() {
        chart = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                type: 'column'
            },
           plotOptions: {
                column: {
                    dataLabels: {
                        enabled: true,
                        useHTML: true,
                        style: {
                            color: '#252525',
                            fontWeight: 'bold'
                        }
                    }
                }
            },
            title: {
                text: 'Column chart with negative values'
            },
            xAxis: {
                categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
            },
            tooltip: {
                formatter: function() {
                    return ''+
                        this.series.name +': '+ this.y +'';
                }
            },
            credits: {
                enabled: false
            },
            series: [{
                name: 'Jane',
                data: [2, -2, -3, 2, 1]
            }]
        });
    });

});

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以通过使用stackLabels并通过设置dataLabels的y(位置y)属性来实现此目的。您还应将verticalAlign of dataLabels设置为' top'。

plotOptions: {
    column: {
        dataLabels: {
            enabled: true,
            useHTML: true,
            style: {
                color: '#252525',
                fontWeight: 'bold'
            },
            verticalAlign : 'top',
            y: -15
        }
    }
}

演示:http://jsfiddle.net/NHCvW/49/