score:44

Accepted answer

you need to disable crop and overflow, see: http://jsfiddle.net/nkxrk/4/

    plotoptions: {
        column: {
            datalabels: {
                enabled: true,
                crop: false,
                overflow: 'none'
            }
        }
    },

score:2

set the data labels in your series call:

series:[{
name:"odometer",
data:[{"y":94.98},{"y":182.96},{"y":160.97},{"y":18.00},{"y":117.97},{"y":6.00},{"y":127.97}],
datalabels: {
            enabled: true,
            color: '#000000',
            backgroundcolor: '#ffffff',
            borderwidth: '1',
            align: 'center',
            x: 0,
            y: 0,
            rotation: 0,
}

}]

http://jsfiddle.net/nkxrk/1/

then if your labels still overlap the columns a bit (column 2 in fiddle above), set your yaxis max a bit higher:

yaxis:{ max: 250 },

http://jsfiddle.net/nkxrk/2/

score:2

the crop&overflow/maxpadding options didn't work for me, this is what did the job for me to align it properly:

plotoptions: {
    column: {
        datalabels: {
            enabled: true,
            y: -20,
            verticalalign: 'top'
        }
     }
}

score:3

you can also increase maxpadding parameter http://jsfiddle.net/nkxrk/3/

maxpadding:0.1

score:4

this seems to be easier:

datalabels: {
    enabled: true,
    inside: false,
    ...
}

Related Query

More Query from same tag