From 53669b66b81cd882146d33cdcc15cb15f2a22b5d Mon Sep 17 00:00:00 2001 From: hailin Date: Sun, 5 Apr 2026 02:47:43 -0700 Subject: [PATCH] fix: label binding auto-enables data labels on bar chart When a field is dragged to the 'label' slot, data labels are automatically shown on top of each bar with the value. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../gateways/EChartsOptionBuilder/barOptionBuilder.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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;