Показать санки в старой версии браузера - PullRequest
0 голосов
/ 05 февраля 2019

У меня проблема с сортировкой диаграммы Санки в более старой версии borwser - Chrome v49.Моя диаграмма выглядит так: sankey

Как представить sankey на знакомом дизайне в старом браузере?В jsfiddle в более новой версии браузера диаграммы выглядят корректно.Я реализовал функцию сортировки, но она не работает в старом браузере.Мой jsfiddle

function sortData(fixedData) {
        return fixedData.sort((a, b) => b[2] - a[2]);
}

//const sortedData = sortData(fixedData);

const chart = Highcharts.chart('container', {

    title: {
        text: 'Highcharts Sankey Diagram'
    },

    series: [{
        keys: ['from', 'to', 'weight'],
        data: fixedData,
        type: 'sankey',
        name: 'Sankey demo series'
    }]
});

Буду благодарен за любые решения! EDIT Так что мой сценарий в точности выглядит как this Корректно работает в OPERA v58 .Не работает правильно в CHROME v49

1 Ответ

0 голосов
/ 11 февраля 2019

Вам необходимо отсортировать данные по сумме значений с одинаковыми именами, а не по отдельным значениям:

const fixedData = [
    ...
];

let sum;

fixedData.forEach(function(el1) {
    sum = 0;
    fixedData.forEach(function(el2) {
        if (el2[0] === el1[0]) {
            sum += el2[2]
        }
    });
    el1.push(sum);
});

function sortData(arr) {
    return [...arr].sort(function(b, a) {
        return b[3] - a[3]
    });
}

Демонстрационная версия: http://jsfiddle.net/BlackLabel/td1ob0wg/

...