Sort Both Axes In Scatter Chart
In order to sort both axes in the Scatter chart you might need to use the following script under the "Widget Script" level
var xOrder = 'asc' //also, this value can be desc
var yOrder = 'asc'
widget.on('beforeviewloaded', function(scope, args) {
var shouldBeExecuted = (order === 'desc' || order === 'asc' )
if (args.widget.type !== 'chart/scatter' || !shouldBeExecuted) {
return
}
var daysOrder = args.options.xAxis.categories.sort();
if (xOrder === 'desc') {
daysOrder.reverse()
}
if (daysOrder.length === args.options.xAxis.categories.length) {
args.options.xAxis.categories = daysOrder
for (i=0; i<daysOrder.length; i++) {
for (k=0; k<args.options.series.length; k++) {
for (j=0; j<args.options.series[k].data.length; j++) {
if (args.options.series[k].data[j].selectionData[0] === daysOrder[i]) {
args.options.series[k].data[j].x = i;
}
}
}
}
}
})
widget.on('beforequery', function(se, ev) {
ev.query.metadata.forEach(function(m) {
if (m.wpanel && m.wpanel === 'y-axis') {
m.jaql.sort = yOrder
}
})
})
Updated 06-02-2025
intapiuser
Admin
Joined December 15, 2022