为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

回首忆惘然 2021-11-12 14:20:32
我想访问系列 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,它返回整个数组,而不是与第二行匹配的特定行。我也尝试传递数组,但它不起作用。需要解决这个问题。
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

您可以通过index以下方式从第一个系列中找到要点:


series: [{

        ...

    },

    {

        ...,

        dataLabels: {

            enabled: true,

            formatter: function(e) {

                return (

                    (this.point.y /

                        this.series.chart.series[0].points[this.point.index].y) *

                    100) + '%';

            }

        }

    }

]

现场演示: http : //jsfiddle.net/BlackLabel/rdwxc382/


API参考: https : //api.highcharts.com/highcharts/series.column.dataLabels.formatter


查看完整回答
反对 回复 2021-11-12
  • 1 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信