DataSrc:T241b
Error: Incomplete information for this database ID DW_UNITAData_T241b (type).
Error: Incomplete information for this database ID DW_UNITAData_T241b (name).
Error: Incomplete information for this database ID DW_UNITAData_T241b (server).
Error: No "from" parameter specified.
<echarts> <script> // Retrieve your data as JSON using an askjson query. // (Make sure your query returns valid dates and numeric participants.) var askData = {{#askjson:
DataSrc:T241bProperty "-Has subobject" has a restricted application area and cannot be used as annotation property by a user.
|?entry_date
|?participants
|?status_of_mobility_participant
|limit=100
|sort=entry_date
|order=ascending
}};
// Prepare arrays to hold unique x-axis dates and series data. var xAxisDates = []; // will hold sorted dates (as strings) var seriesData = {}; // an object keyed by status
// Process each data row. askData.forEach(function(item) {
// Assume item.entry_date is in a format ECharts can display (like "2024-02-01")
var date = item.entry_date;
// Ensure the date is recorded in the x-axis array.
if (xAxisDates.indexOf(date) === -1) {
xAxisDates.push(date);
}
// Get the group/status.
var status = item.status_of_mobility_participant;
if (!seriesData[status]) {
seriesData[status] = {};
}
// Record the participant count. Convert to number in case it's a string.
seriesData[status][date] = parseFloat(item.participants);
});
// Sort the x-axis dates. xAxisDates.sort();
// Build the series array. For each status, align data with the x-axis dates. var legendData = []; var seriesArray = [];
for (var status in seriesData) {
legendData.push(status);
// Build data array for this status.
var dataArray = xAxisDates.map(function(date) {
// If no value exists for this date, use 0.
return seriesData[status][date] || 0;
});
seriesArray.push({
name: status,
type: 'line', // line chart; change to 'bar' if you prefer columns.
stack: 'Total', // this enables stacking
areaStyle: {}, // makes it an area chart (stacked area)
emphasis: { focus: 'series' },
data: dataArray
});
}
// Build the ECharts option object. var option = {
title: {
text: 'BIP Mobilities'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: { backgroundColor: '#6a7985' }
}
},
legend: {
data: legendData
},
toolbox: {
feature: { saveAsImage: {} }
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
boundaryGap: false,
data: xAxisDates
}],
yAxis: [{
type: 'value'
}],
series: seriesArray
};
// Initialize the chart in the div with id "myChart" (or let the extension handle it). // If the ECharts extension expects the option variable, just output it. echarts.init(document.getElementById('myChart')).setOption(option); </script>
</echarts>