Display priority vs due date as a scatter plot.
Example Code#
function generateChart(api, params, context) {
const items = api.queryItems("type = 'task'");
const data = items
.filter(i => i.DueDate() !== null)
.map(i => ({
value: [
new Date(i.DueDate()).getTime(),
getPriorityScore(i.GetField('priority'))
],
item: i
}));
return echarts.createScatterChart(data, {
title: 'Priority vs Due Date',
xLabel: 'Due Date',
yLabel: 'Priority'
});
}
function getPriorityScore(priority) {
switch(priority) {
case 'critical': return 4;
case 'high': return 3;
case 'medium': return 2;
case 'low': return 1;
default: return 0;
}
}
Full Example#
See source: source-files/03_priority_scatter.js
Customization#
Change priority values:
function getPriorityScore(priority) {
switch(priority) {
case 'critical': return 100;
case 'high': return 75;
case 'medium': return 50;
case 'low': return 25;
default: return 0;
}
}
See also: Scripted Charts Guide