在旧浏览器版本中显示 sankey
Display sankey in old browser version
我在旧版本浏览器中排序桑基图时遇到问题 - 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'
}]
});
我将不胜感激任何解决方案!
编辑
所以我的脚本看起来像 this
在 OPERA v58 中正确工作。
在 CHROME v49
中无法正常工作
您需要按同名值的总和而不是单个值对数据进行排序:
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]
});
}
我在旧版本浏览器中排序桑基图时遇到问题 - 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'
}]
});
我将不胜感激任何解决方案!
编辑
所以我的脚本看起来像 this
在 OPERA v58 中正确工作。
在 CHROME v49
您需要按同名值的总和而不是单个值对数据进行排序:
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]
});
}