Highcharts - 添加y点之间的差异

时间:2013-10-24 11:40:02

标签: javascript jquery highcharts

我如何才能增加两点之间的差异? 例如,对于'星期一',简有1,约翰有3分,所以约翰应该有“( - 70%)”的信息,周三约翰有3,简有4,所以它应该是“(+ 125%)” 信息应该在最近的一行。

enter image description here jsfiddle

$(function () {
        $('#container').highcharts({
            chart: {
                type: 'area',
                inverted: true
            },
            title: {
                text: 'Average fruit consumption during one week'
            },
            subtitle: {
                style: {
                    position: 'absolute',
                    right: '0px',
                    bottom: '10px'
                }
            },
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'top',
                x: -150,
                y: 100,
                floating: true,
                borderWidth: 1,
                backgroundColor: '#FFFFFF'
            },
            xAxis: {
                categories: [
                    'Monday',
                    'Tuesday',
                    'Wednesday',
                    'Thursday',
                    'Friday',
                    'Saturday',
                    'Sunday'
                ]
            },
            yAxis: {
                title: {
                    text: 'Number of units'
                },
                labels: {
                    formatter: function() {
                        return this.value;
                    }
                },
                min: 0
            },
            plotOptions: {
                area: {
                    fillOpacity: 0.5
                }
            },
            series: [{
                name: 'John',
                data: [3, 4, 3, 5, 4, 10, 12]
            }, {
                name: 'Jane',
                data: [1, 3, 4, 3, 3, 5, 4]
            }]
        });
    });

1 个答案:

答案 0 :(得分:0)

我不懂计算: - 简= 1, - 约翰= 3,所以标签=(-70%)

但是,这是为Jane和John获取dataLabel的方法:

                formatter: function(){
                    var secondY = this.series.chart.series[1].yData[this.point.x],
                        firstY = this.y;
                    return this.y;    
                }

jsFiddle:http://jsfiddle.net/7gvuA/