始终在HighCharts中的列上方显示数据标签

时间:2014-07-18 19:51:41

标签: highcharts

如何设置HighCharts选项以确保始终呈现列图,其中数据标签始终位于列的顶部?附件是一个示例,其中我的一个标签被强制在下面。

我在dataLabels中尝试了很多组合而没有运气:

    plotOptions: {
        column: {
            dataLabels: {
                enabled: true
            }
        }
    }

JSFiddle:Here

HighCharts Example

5 个答案:

答案 0 :(得分:36)

您需要停用裁剪和溢出,请参阅:http://jsfiddle.net/NKXRk/4/

    plotOptions: {
        column: {
            dataLabels: {
                enabled: true,
                crop: false,
                overflow: 'none'
            }
        }
    },

答案 1 :(得分:3)

您还可以增加maxPadding参数http://jsfiddle.net/NKXRk/3/

maxPadding:0.1

答案 2 :(得分:3)

这似乎更容易:

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

答案 3 :(得分:1)

在系列调用中设置数据标签:

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/

然后,如果您的标签仍然与列重叠(上面的第2列),请将yAxis max设置得更高:

yAxis:{ max: 250 },

http://jsfiddle.net/NKXRk/2/

答案 4 :(得分:1)

crop& overflow / maxPadding选项对我来说不起作用,这就是让我正确对齐它的工作:

plotOptions: {
    column: {
        dataLabels: {
            enabled: true,
            y: -20,
            verticalAlign: 'top'
        }
     }
}