需要让HighCharts数据标签设置为与Y轴的不同



我有一个图表,显示人,货币价值和百分比。

我想将百分比显示为数据标签而不是货币值。

$(function () {
    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'bar'
        },
        plotOptions: {
            column: {
                stacking: 'normal',
                dataLabels: {
                    enabled: false
                }
            },
        bar: {
            dataLabels: 
            {
                allowOverlap:true,
                enabled: true,
                align: 'right',
                overflow:"none",
                formatter: function() { return this.y;},
            }
        }            
        },
        xAxis: {
            categories: ["Mary<br/>$ 4,623,450","John<br>$     1,848,380","Jane<br/>$ 640,170"]
        },
        series: [{
            "data": [
                ["65%",4623450],
                ["26%", 1848380],
                ["9%", 640170]
            ],
            "name": "Session1"
        }]
    });
});

so:玛丽的数据标签为65%,而不是4623450,约翰的数据标签为26%,而不是1848380,简的数据标签为9%,而不是640170

有办法做到吗?

请参阅此处的JSFIDDLE

已解决!

很简单:

formatter: function() { return this.key;},

完整代码:

$(function () {
var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        type: 'bar'
    },
    plotOptions: {
        column: {
            stacking: 'normal',
            dataLabels: {
                enabled: false
            }
        },
    bar: {
        dataLabels: 
        {
            allowOverlap:true,
            enabled: true,
            align: 'right',
            overflow:"none",
            formatter: function() { return this.y;},
        }
    }            
    },
    xAxis: {
        categories: ["Mary<br/>$ 4,623,450","John<br>$     1,848,380","Jane<br/>$ 640,170"]
    },
    series: [{
        "data": [
            ["65%",4623450],
            ["26%", 1848380],
            ["9%", 640170]
        ],
        "name": "Session1"
    }]
});

});

在此处更新了JSFIDDLE

最新更新