Edilitics | Data to Decisions

Horizontal Grouped Bar Chart

Compare two to ten measures side by side per category with bars running left to right. Best when category names are long and multi-measure comparison is needed.

A horizontal grouped bar chart - also called a horizontal clustered bar chart - is a grouped bar chart rotated 90 degrees: categories run down the Y-axis, each category shows a cluster of bars (one per measure), and bar length encodes the value on the X-axis. Drop one categorical or date field into Column and two or more numeric fields into Row. Use this chart when you need multi-measure comparison per category and category names are too long to fit comfortably on a vertical chart.

When to Use

The choice between horizontal and vertical grouped bar comes down to label length. The horizontal grouped bar chart solves the same problem as the vertical Grouped Bar - comparing multiple measures side by side per category - but category names sit on the Y-axis where they have full horizontal space to breathe. Use it when category names are long (product line names, campaign names, job titles) and rotating them on a vertical chart would make them unreadable.

Cluster height collapses with too many measures or categories. On a horizontal chart, each cluster occupies vertical space instead of horizontal space. With 5 measures and 12 categories, there are 60 bars stacked vertically. Each bar becomes a thin line. Keep the product of measures times categories under 40, and keep measure count at 4 or fewer for most dashboard layouts.

Switch to a different chart when:

ScenarioDimensionMeasures
Revenue vs. cost by product lineProduct line nameSum of revenue, Sum of cost
Planned vs. actual by campaignCampaign nameSum of plan, Sum of actual
New vs. returning users by acquisition channelAcquisition channelCount of new users, Count of returning users
Budget vs. spend by departmentDepartment nameSum of budget, Sum of spend
Gross profit vs. net profit by regionRegion nameSum of gross profit, Sum of net profit

Required Inputs

FieldTypeCount
DimensionCategorical or DateExactly 1
MeasureNumeric2 to 10

For step-by-step build instructions, see Build Your First Chart.

Formatting Options

The Format tab unlocks after at least one field is assigned. Once your chart is rendering, use these controls to define how it looks and how viewers interact with it.

Style

Use the chart title to state the comparison question clearly. On a horizontal grouped bar, viewers are reading multiple measures per category from left to right - the title needs to tell them what the measures represent before they look at the legend.

ControlWhat it does
Show Chart TitleShows or hides the title. The text is preserved when hidden so you can toggle it back without re-entering.
Enter Chart TitleTitle text. Maximum 50 characters.
Font familyFont applied to the title.
Font size5 to 30.
Bold / ItalicWeight and style.
AlignmentLeft, center, or right within the chart container.

Defaults to transparent, inheriting the dashboard canvas color. Set an explicit color when the chart needs a distinct surface inside a card layout, or when exporting as a standalone image and a white background is required.

ControlWhat it does
Background ColorFill color of the chart container.

Reach for these controls when clusters feel too tightly packed or bars need visual polish. All measures share the same gradient - the legend and position within each cluster differentiate them, not individual bar colors. Border controls are not available on this chart type.

ControlWhat it does
Cluster GapSpace between category clusters, 0 to 100. At low values, clusters pack tightly and bars within each cluster become thinner. At high values, clusters are well-separated but each bar is also thinner. Keep between 20 and 50 for most layouts.
Gradient Start ColorThe color at the left edge of each bar. Set Start and End to the same color for a flat fill.
Gradient End ColorThe color at the right edge (tip) of each bar. Set to a lighter or darker shade of the Start Color for a subtle gradient.
Background ColorA secondary color filling the full axis width behind each bar cluster, like a track. Use this to show remaining capacity against a target. Leave it off if there is no reference value.
Corner Radius (top-left, bottom-left, top-right, bottom-right)Rounds bar corners independently, 0 to 10 each. On a horizontal bar, the right edge is the tip - rounding top-right and bottom-right gives a pill-like tip. Do not push all corners to 10 when bars are thin - narrow bars become pill shapes and the length encoding breaks down.

Data labels on a horizontal grouped bar print the value to the right of each bar tip. With 3 or more measures per cluster, labels from adjacent bars in the same cluster will overlap unless font size is very small. Use data labels on charts with 2 measures and no more than 8 categories.

ControlWhat it does
Show Data LabelsShows or hides value labels on each bar.
Font familyFont applied to data labels.
Font sizeMaximum 18. On dense clusters, keep this at 9 or 10 to avoid label collision between adjacent bars.
Bold / Italic / ColorText styling.
PositionVertical and horizontal alignment of the label inside the bar. Vertical Top places the label near the top edge of the bar; Middle centers it; Bottom places it near the base. Horizontal Start places it toward the left end; End toward the tip. On thin bars, keep the default (Middle / Center) to avoid clipping.
Number TypeDefault (raw value), Scientific, Decimal, or Percentage.
Display UnitNone, Thousand, Million, or Billion. Match this to the X-axis Display Unit.
Decimal Places0 to 6. Available when Number Type is not Default.

The legend is the only way viewers can identify which bar corresponds to which measure in a cluster. It is critical on this chart - do not hide it.

ControlWhat it does
Show LegendsShows or hides the legend. On by default. Hiding it makes clusters unidentifiable.
Vertical positionTop, middle, or bottom alignment of the legend block relative to the chart area.
Horizontal positionStart, center, or end alignment.
Show NameDefault: legend item labels are always visible. On Hover: labels appear only when the viewer hovers the legend. Use Default on shared or exported dashboards.
OrientationVertical: legend items stacked in a column. Horizontal: legend items in a row. Horizontal works best when measure names are short and there are 4 or fewer measures.
Item GapSpacing between legend items.
Font SizeLegend label font size.
ColorLegend label text color.

Axes

On a horizontal grouped bar, the X-axis is the value axis and the Y-axis carries category names. The X-axis name should describe the shared unit across all measures. The Y-axis name is often redundant when category labels already identify the dimension.

Select X or Y before making changes. Settings apply to the selected axis only.

ControlWhat it does
Show Axis NameShows or hides the axis name label.
Axis name textLabel text. Maximum 20 characters. Defaults to the field name.
Font familyFont applied to the axis name.
Font size5 to 30.
Bold / ItalicWeight and style.
Offset (%)Distance between the axis name and the axis line. Increase if the axis name overlaps the axis labels.
AlignmentStart, center, or end along the axis.

Leave these at their defaults unless you are building a minimal dashboard layout. On a horizontal chart, the Y-axis line runs vertically alongside category labels - hiding it gives a cleaner look but removes the visual separator between labels and bars.

Select X or Y before making changes.

ControlWhat it does
Show Axis LineShows or hides the axis line. Hiding it also hides ticks.
Line ColorColor of the axis line.
Line WidthThickness of the axis line, 0 to 5.
Line TypeSolid, Dashed, or Dotted.
Show TicksShows or hides tick marks on the axis line.
Tick ColorColor of the tick marks.
Tick LengthLength of the tick marks, 5 to 10.
Boundary GapAdds padding at both ends of the category axis so the first and last clusters do not sit flush against the chart edges. On by default.

The Y-axis category labels are the primary navigation aid on a horizontal chart. Keep them readable - do not reduce font size below 10. If category names are being clipped, increase the left margin under GridLines rather than shrinking the text.

Select X or Y before making changes. Hiding axis labels also hides the axis name.

ControlWhat it does
Show Axis LabelShows or hides labels along the axis.
Font familyFont applied to axis labels.
Font sizeLabel font size. Do not go below 10 on Y-axis category labels.
Bold / Italic / ColorText styling.
RotationAngle of label text. Rotation is rarely needed on Y-axis category labels on a horizontal chart - they are already horizontal. Available for X-axis (value scale) labels if needed.
Text caseTitle Case, Uppercase, or Lowercase. Available on the categorical axis (Y) only.
Display UnitScale for numeric axis labels: Auto, None, Thousand, Million, or Billion. Available on the value axis (X) only.

On a horizontal grouped bar, X-axis grid lines run vertically through the bars and give viewers a reference for reading bar length against the value scale. Y-axis grid lines run horizontally between clusters and add visual noise. Leave Y-axis grid lines off.

Select X or Y before making changes.

ControlWhat it does
Show GridlinesShows or hides grid lines for the selected axis.
Grid ColorColor of the grid lines.
Left / Right / Top / BottomPlot area margins as a percentage. Increase Left when long category names are clipped. Increase Right when data labels overflow beyond the chart boundary.

Interactivity

Set Tooltip Trigger to Axis on a horizontal grouped bar - it shows all measure values for the hovered category in one pop-up, giving viewers the full cluster comparison without hovering each bar individually.

ControlWhat it does
Show TooltipShows or hides the tooltip on hover.
TriggerItem: tooltip shows data for the specific hovered bar only. Axis: tooltip shows all measure values for the hovered category. Use Axis - it delivers the full cluster comparison in one hover.
PointerWhen Trigger is Axis: the visual indicator - Line, Shadow, Cross, or None. Shadow highlights the full cluster row at the hovered position.
Background ColorTooltip background color.
Headers / Values tabsSeparate styling for the category label row (Headers) and the measure value rows (Values). The Values tab includes Number Type, Display Unit, and Decimal Places.

Keep animation on when the chart is used in a presentation where the left-to-right build draws attention to bar length differences. Turn it off on operational dashboards that auto-refresh frequently.

ControlWhat it does
Enable AnimationTurns the build animation on or off.
DurationHow long the animation runs, 0 to 3000ms. The default is 1000ms.
DelayTime before the animation starts after the chart loads, 0 to 2000ms.
Easing FunctionThe motion curve of the animation. Cubic Out (the default) gives a natural deceleration.

Enable Data Zoom when the category count exceeds what fits in the chart height. On a horizontal chart, set Orientation to Vertical so the zoom scrolls through the category list on the Y-axis, not across the value scale.

ControlWhat it does
Show Data ZoomShows or hides the zoom control.
Zoom TypeSlider: a draggable range bar alongside the chart. Inside: scroll-to-zoom directly on the plot area. Use Slider. Avoid Inside on trackpad-scrolled dashboards.
Slider Size (px)Width of the slider bar, 10 to 100. Slider type only.
PositionPosition of the slider relative to the chart.
AlignmentAlignment of the slider control.
OrientationSet to Vertical for a horizontal grouped bar chart. Vertical scrolls through the category list. Horizontal scrolls the value axis, which is not useful here.
Show Detail LabelShows range values at the slider handles so viewers know which categories they are viewing.
Background ColorSlider background.
Filler ColorColor of the selected range inside the slider.
Border ColorSlider border.
Handle ColorColor of the drag handles.
Brush SelectionEnables click-and-drag to zoom into a range.

Avoid Zoom Type "Inside" on dashboards that viewers scroll with a trackpad. Scroll events captured by the chart zoom the chart instead of scrolling the page, which is disorienting and hard to exit without knowing to click outside the chart first.

On a horizontal grouped bar, Series focus is the most useful emphasis mode - it highlights all bars of the same measure across every cluster, letting viewers trace one measure through the full category list without losing it in the cluster.

ControlWhat it does
Show EmphasisEnables or disables the hover effect entirely.
Focus TypeItem: highlights only the hovered bar and dims all others. Series: highlights all bars of the same measure across every cluster and dims the rest - use this on a horizontal grouped bar with more than 3 measures. None: no visual change on hover.
Enable ScaleScales the hovered bar slightly taller. At Scale Size above 1.2 on a dense cluster, bars visually overlap with adjacent bars in the same cluster.
Scale SizeHow much the hovered bar scales. 1.1 is subtle. 1.5 is aggressive.

Enable the Toolbox when viewers need to export the chart or verify exact values - budget reviews, performance comparisons, or any context where a viewer will question what a bar represents.

ControlWhat it does
Show ToolboxShows or hides the toolbox icon bar.
Save as ImageAdds a download icon that saves the chart as a PNG.
Data ViewAdds an icon that opens the underlying data table in the chart area.

Best Practices

Keep measure count at 4 or fewer and categories at 10 or fewer. On a horizontal chart, clusters grow vertically with each additional measure. At 5 or more measures, each bar in a cluster becomes too thin to read. With 3 or more measures and more than 10 categories, cluster height collapses entirely. If you need more categories, enable Data Zoom with Vertical orientation and let viewers scroll rather than squeezing everything into a fixed height.

Set Data Zoom Orientation to Vertical. This is the most common misconfiguration on horizontal charts. The default Horizontal orientation scrolls across the value axis - useless on a single-measure-per-cluster basis. Set it to Vertical so the zoom scrolls through the category list on the Y-axis.

Use Axis tooltip trigger, not Item. One hover should show all measure values for the hovered category. Item trigger forces viewers to hover each bar in the cluster individually, defeating the purpose of the grouped layout.

Use Series focus in Emphasis when measure count is high. With 4 measures per cluster, individual bars are thin enough that the hovered bar is hard to distinguish from its neighbors. Series focus highlights all bars of the same measure across every category - much easier to follow than a single highlighted bar.

Give category labels room on the left. The primary reason to use a horizontal chart is readable category names. If names are being clipped, increase the Left margin under GridLines. Do not reduce the Y-axis font size below 10 or truncate names in Transform to fit a narrow chart - increase the chart height or left margin instead.

FAQs

Need help? Email support@edilitics.com with your workspace, job ID, and context. We reply within one business day.

Last updated on

On this page