Как изменить формат точки для детализации в круговых диаграммах? - PullRequest
0 голосов
/ 25 мая 2018

Я использую круговую диаграмму с детализацией, есть ли способ изменить формат точки в функции подсказки.Я хочу показать;сначала круговая диаграмма в формате процента (%), а затем детализация данных в метрической тонне (MT).

Я получаю данные в соответствующих форматах из серверной службы.Продукты поступают в метрических тоннах и процентах в процентах, фактический процент поступает в процентах.

Код моей круговой диаграммы приведен ниже.

function visitorData(data){
    var products = data.products;
    var remainingPercentage=data.remainingPercentage;
     var actualPercentage=data.actualPercentage
    Highcharts.chart('current', {
         credits: {
        enabled: false
      },
        chart: {
            type: 'pie'
        },
        title: {
            text: 'Production report of current quarter'
        },
        subtitle: {

        },
        plotOptions: {
            series: {
                dataLabels: {
                    enabled: true,
                }
            }
        },
        tooltip: {
            headerFormat: '<span style="font-size:11px">{series.name}</span><br>',
            pointFormat: '<span style="color:{point.color}">{point.name}</span>: <b>{point.y:.2f}%</b> of total<br/>'
        },
        series: [{
            name: 'Planned Production',
            colorByPoint: true,
            data: [{
                name: 'Remaining Production Qty. ',
                y: data.remainingPercentage,
            },
             {
                name: 'Actual Production Qty.',
                y: data.actualPercentage,
                drilldown: 'ap'
            }
            ]
        }],
        drilldown: {
            series: [{
                name: 'production report',
                id: 'po',
                data: [

                ]
            }, {
                name: 'Actual Production Qty.',
                id: 'ap',
                data: data.products

            }  ]
        }
    }); 

}

Заранее спасибо.

1 Ответ

0 голосов
/ 25 мая 2018

Способ решить эту проблему - назначить tooltip: {pointFormatter: } для вашей серии первого уровня.Это переопределит основной форматер tooltip и покажет вам данные, которые вы хотите показать.

// Create the chart
 Highcharts.chart('container', {
         credits: {
        enabled: false
      },
        chart: {
            type: 'pie'
        },
        title: {
            text: 'Production report of current quarter'
        },
        subtitle: {

        },
        plotOptions: {
            series: {
                dataLabels: {
                    enabled: true,
                }
            }
        },
        tooltip: {
            headerFormat: '<span style="font-size:11px">{series.name}</span><br>',
             //MT format for the lower drilldowns
             pointFormat: '<span style="color:{point.color}">{point.name}</span>: <b>{point.y:.2f}MT</b> of total<br/>' 
        },
        series: [{
         tooltip: {
            //Pointformat for the percentage series
            pointFormat: '<span style="color:{point.color}">{point.name}</span>: <b>{point.y:.2f}%</b> of total<br/>' 
        },
            name: 'Planned Production',
            colorByPoint: true,
            data: [{
                name: 'Remaining Production Qty. ',
                y: 3,
            },
             {
                name: 'Actual Production Qty.',
                y: 5,
                drilldown: 'ap'
            }
            ]
        }],
        drilldown: {
            series: [{
                name: 'production report',
                id: 'po',
                data: [1]
            }, {
                name: 'Actual Production Qty.',
                id: 'ap',
                data: [2]

            },


            ]
        }
    }); 

Причина, по которой я решил позволить первому уровню переопределить всплывающую подсказку, заключается в том, что конструкция развернута, и я полагаю, что все эти развертки будут использовать один и тот же формат подсказки.

Здесь вы можете найти работающий JSFiddle.

...