yearRange_for_slider = {
const data = plotData_4;
if (!data || !Array.isArray(data) || data.length === 0) {
const currentActualYear = new Date().getFullYear();
return { min: currentActualYear - 5, max: currentActualYear, all: [currentActualYear] };
}
const years = data.map(d => {
if (d.x instanceof Date && !isNaN(d.x)) {
return d.x.getFullYear();
} else if (typeof d.x === 'number' && !isNaN(d.x) && d.x >= 1000 && d.x < 3000) {
return Math.floor(d.x);
}
return null;
}).filter(year => year !== null);
if (years.length === 0) {
const currentActualYear = new Date().getFullYear();
return { min: currentActualYear - 5, max: currentActualYear, all: [currentActualYear] };
}
const uniqueYears = [...new Set(years)].sort((a, b) => a - b);
return {
min: uniqueYears[0],
max: uniqueYears[uniqueYears.length - 1],
all: uniqueYears
};
}