diff --git a/frontend/src/adapters/gateways/EChartsOptionBuilder/barOptionBuilder.ts b/frontend/src/adapters/gateways/EChartsOptionBuilder/barOptionBuilder.ts index e4ba8cf..f894fa6 100644 --- a/frontend/src/adapters/gateways/EChartsOptionBuilder/barOptionBuilder.ts +++ b/frontend/src/adapters/gateways/EChartsOptionBuilder/barOptionBuilder.ts @@ -141,13 +141,18 @@ export function buildBarOption( const xField = xBinding?.columnName ?? ''; const yField = yBinding?.columnName ?? ''; + const labelBinding = getBinding(bindings, 'label'); + const option: Record = {}; applyCommonStyle(option, style); const categories = [...new Set(data.map((row) => String(row[xField])))]; const { xAxis, yAxis } = buildAxisConfig(style, isHorizontal); - const label = buildLabelConfig(style); + // If a label binding exists, force show data labels + const label = labelBinding + ? { show: true, position: 'top' as const, fontSize: 12, formatter: '{c}' } + : buildLabelConfig(style); const colorBinding = getBinding(bindings, 'color'); const splitField = seriesBinding?.columnName ?? colorBinding?.columnName;