Skip to content

Commit

Permalink
Fix stacked areas overflow on null values when connectNulls is true
Browse files Browse the repository at this point in the history
  • Loading branch information
alxnddr committed Feb 15, 2024
1 parent 031a908 commit 194a793
Showing 1 changed file with 25 additions and 16 deletions.
41 changes: 25 additions & 16 deletions src/chart/line/helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,23 +112,32 @@ function getValueStart(valueAxis: Axis, valueOrigin: LineSeriesOption['areaStyle
}

export function getStackedOnPoint(
dataCoordInfo: CoordInfo,
coordSys: Cartesian2D | Polar,
data: SeriesData,
idx: number
dataCoordInfo: CoordInfo,
coordSys: Cartesian2D | Polar,
data: SeriesData,
idx: number
) {
let value = NaN;
if (dataCoordInfo.stacked) {
value = data.get(data.getCalculationInfo('stackedOverDimension'), idx) as number;
}
if (isNaN(value)) {
value = dataCoordInfo.valueStart;
}
let stackedOverValue = NaN;
let stackResultValue = NaN;
if (dataCoordInfo.stacked) {
stackedOverValue = data.get(
data.getCalculationInfo('stackedOverDimension'),
idx
) as number;
stackResultValue = data.get(
data.getCalculationInfo('stackResultDimension'),
idx
) as number;
}

if (isNaN(stackedOverValue) && !isNaN(stackResultValue)) {
stackedOverValue = dataCoordInfo.valueStart;
}

const baseDataOffset = dataCoordInfo.baseDataOffset;
const stackedData = [];
stackedData[baseDataOffset] = data.get(dataCoordInfo.baseDim, idx);
stackedData[1 - baseDataOffset] = value;
const baseDataOffset = dataCoordInfo.baseDataOffset;
const stackedData = [];
stackedData[baseDataOffset] = data.get(dataCoordInfo.baseDim, idx);
stackedData[1 - baseDataOffset] = stackedOverValue;

return coordSys.dataToPoint(stackedData);
return coordSys.dataToPoint(stackedData);
}

0 comments on commit 194a793

Please sign in to comment.