猿问

在 Highchart dataLabels 上访问另一个系列行的数据

我想访问系列 dataLabels 中的另一个系列行数据。这是我的代码。


categoriesarr = [1,2,3,4,5];

noofloandisbursed = [10, 20, 30, 40, 50];

pdo = [9, 18, 27, 40, 49];


var chart = new Highcharts.Chart({

            chart: {

                renderTo: 'disbursement'

            },

            title: {

                text: ''

            },

            subtitle: {

                text: ''

            },

            xAxis: {

                categories: categoriesarr

            },

            tooltip: {

                pointFormat: '<b>{point.y}</b>'

            },

            legend: {

                layout: 'vertical',

                align: 'right',

                verticalAlign: 'top',

                x: -40,

                y: 0,

                floating: true,

                borderWidth: 1,

                backgroundColor: ((Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#fff'),

                shadow: true

            },

            series: [{

                name: 'No. Of Loan Disbursed',

                type: 'column',

                data: noofloandisbursed

            },

            {

                name: 'Pre-Disbursement Orientation',

                type: 'column',

                data: pdo,

                dataLabels: {

                    enabled: true,

                    formatter: function(e) {

                        //return ((this.point.y/series[0].point.y)*100) + '%';

                    }

                }

            }]

        });

我想在 dataLabels 连接中显示 (series 2 value / series 1 value) * 100 的结果,仅在第二个系列中使用 % 。不幸的是,我无法访问系列 1 的 y 点值。当我尝试时series[0].yData,它返回整个数组,而不是与第二行匹配的特定行。我也尝试传递数组,但它不起作用。需要解决这个问题。


回首忆惘然
浏览 127回答 1
1回答

慕的地10843

您可以通过index以下方式从第一个系列中找到要点:series: [{&nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; },&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; ...,&nbsp; &nbsp; &nbsp; &nbsp; dataLabels: {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; enabled: true,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; formatter: function(e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (this.point.y /&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.series.chart.series[0].points[this.point.index].y) *&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100) + '%';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }]现场演示: http : //jsfiddle.net/BlackLabel/rdwxc382/API参考: https : //api.highcharts.com/highcharts/series.column.dataLabels.formatter
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答