No data available for parallel coordinates
);
}
// Calculate min/max for each dimension for normalization
const ranges = dimensions.map(dim => {
const values = validData.map(d => d[dim]);
return {
min: Math.min(...values),
max: Math.max(...values)
};
});
// Normalize function
const normalize = (value: number, dimIdx: number): number => {
const range = ranges[dimIdx];
if (range.max === range.min) return 0.5;
return (value - range.min) / (range.max - range.min);
};
// Chart dimensions
const width = 800;
const height = 400;
const margin = { top: 80, right: 20, bottom: 40, left: 20 };
const plotWidth = width - margin.left - margin.right;
const plotHeight = height - margin.top - margin.bottom;
const axisSpacing = plotWidth / (dimensions.length - 1);
return (