我在较旧版本的浏览器-Chrome v49中对sankey图进行排序时遇到问题。我的图表如下所示: 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'
}]
});
任何解决方案,我将不胜感激!
编辑
所以我的脚本看起来像this
在OPERA v58中正确工作。
在CHROME v49
答案 0 :(得分:0)
您需要根据同名值的总和而不是单个值对数据进行排序:
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]
});
}