fix(chart): use categorical axis for bar charts with numeric x-axis (#39141)

Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com>
This commit is contained in:
Jean Massucatto
2026-04-29 04:41:19 -03:00
committed by GitHub
parent dbd7984ce9
commit 171414f165
4 changed files with 40 additions and 3 deletions

View File

@@ -258,7 +258,15 @@ export default function transformProps(
const dataTypes = getColtypesMapping(queriesData[0]);
const xAxisDataType = dataTypes?.[xAxisLabel] ?? dataTypes?.[xAxisOrig];
const xAxisType = getAxisType(stack, xAxisForceCategorical, xAxisDataType);
const xAxisType = getAxisType(
stack,
xAxisForceCategorical,
xAxisDataType,
seriesType === EchartsTimeseriesSeriesType.Bar ||
seriesTypeB === EchartsTimeseriesSeriesType.Bar
? EchartsTimeseriesSeriesType.Bar
: seriesType,
);
const [rawSeriesA, sortedTotalValuesA] = extractSeries(rebasedDataA, {
fillNeighborValue: stack ? 0 : undefined,

View File

@@ -314,7 +314,12 @@ export default function transformProps(
const isMultiSeries = groupBy.length || metrics?.length > 1;
const xAxisDataType = dataTypes?.[xAxisLabel] ?? dataTypes?.[xAxisOrig];
const xAxisType = getAxisType(stack, xAxisForceCategorical, xAxisDataType);
const xAxisType = getAxisType(
stack,
xAxisForceCategorical,
xAxisDataType,
seriesType,
);
const [rawSeries, sortedTotalValues, minPositiveValue] = extractSeries(
rebasedData,

View File

@@ -934,6 +934,7 @@ export function getAxisType(
stack: StackType,
forceCategorical?: boolean,
dataType?: GenericDataType,
seriesType?: EchartsTimeseriesSeriesType,
): AxisType {
if (forceCategorical) {
return AxisType.Category;
@@ -941,7 +942,11 @@ export function getAxisType(
if (dataType === GenericDataType.Temporal) {
return AxisType.Time;
}
if (dataType === GenericDataType.Numeric && !stack) {
if (
dataType === GenericDataType.Numeric &&
!stack &&
seriesType !== EchartsTimeseriesSeriesType.Bar
) {
return AxisType.Value;
}
return AxisType.Category;