Skip to content

Commit 3a2ae1a

Browse files
committed
fix: preserve file labels when some datasets empty
1 parent 595db53 commit 3a2ae1a

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/components/ChartContainer.jsx

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -529,13 +529,12 @@ export default function ChartContainer({
529529
const createChartData = (dataArray, title, yAxisLabel) => {
530530
const datasets = [];
531531

532-
dataArray.forEach((data, index) => {
532+
dataArray.forEach((item, index) => {
533533
const color = colors[index % colors.length];
534-
535-
// Chart data without smoothing
534+
536535
datasets.push({
537-
label: `${parsedData[index]?.name?.replace(/\.(log|txt)$/i, '') || `File ${index + 1}`}`,
538-
data: data,
536+
label: `${item.name?.replace(/\.(log|txt)$/i, '') || `File ${index + 1}`}`,
537+
data: item.data,
539538
borderColor: color,
540539
backgroundColor: `${color}33`, // Add transparency
541540
borderWidth: 2,
@@ -564,8 +563,8 @@ export default function ChartContainer({
564563
};
565564
};
566565

567-
const createComparisonChartData = (data1, data2, title) => {
568-
const comparisonData = getComparisonData(data1, data2, compareMode);
566+
const createComparisonChartData = (item1, item2, title) => {
567+
const comparisonData = getComparisonData(item1.data, item2.data, compareMode);
569568
const baseline = compareMode === 'relative' ? relativeBaseline :
570569
compareMode === 'absolute' ? absoluteBaseline : 0;
571570

@@ -657,8 +656,13 @@ export default function ChartContainer({
657656
);
658657
}
659658

660-
const lossDataArray = parsedData.map(file => file.lossData).filter(data => data && data.length > 0);
661-
const gradNormDataArray = parsedData.map(file => file.gradNormData).filter(data => data && data.length > 0);
659+
const lossDataArray = parsedData
660+
.filter(file => file.lossData && file.lossData.length > 0)
661+
.map(file => ({ name: file.name, data: file.lossData }));
662+
663+
const gradNormDataArray = parsedData
664+
.filter(file => file.gradNormData && file.gradNormData.length > 0)
665+
.map(file => ({ name: file.name, data: file.gradNormData }));
662666

663667
// 计算显示的图表数量来决定布局
664668
const enabledFiles = files.filter(file => file.enabled !== false);

0 commit comments

Comments
 (0)