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:
- Category names are short and fit on a vertical chart - use Grouped Bar
- You have only one measure per category - use Horizontal Bar
- The question is about composition, not absolute values - use Horizontal Stacked Bar
- Your dimension is time - use Line Chart
| Scenario | Dimension | Measures |
|---|---|---|
| Revenue vs. cost by product line | Product line name | Sum of revenue, Sum of cost |
| Planned vs. actual by campaign | Campaign name | Sum of plan, Sum of actual |
| New vs. returning users by acquisition channel | Acquisition channel | Count of new users, Count of returning users |
| Budget vs. spend by department | Department name | Sum of budget, Sum of spend |
| Gross profit vs. net profit by region | Region name | Sum of gross profit, Sum of net profit |
Required Inputs
| Field | Type | Count |
|---|---|---|
| Dimension | Categorical or Date | Exactly 1 |
| Measure | Numeric | 2 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.
| Control | What it does |
|---|---|
| Show Chart Title | Shows or hides the title. The text is preserved when hidden so you can toggle it back without re-entering. |
| Enter Chart Title | Title text. Maximum 50 characters. |
| Font family | Font applied to the title. |
| Font size | 5 to 30. |
| Bold / Italic | Weight and style. |
| Alignment | Left, 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.
| Control | What it does |
|---|---|
| Background Color | Fill 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.
| Control | What it does |
|---|---|
| Cluster Gap | Space 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 Color | The color at the left edge of each bar. Set Start and End to the same color for a flat fill. |
| Gradient End Color | The 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 Color | A 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.
| Control | What it does |
|---|---|
| Show Data Labels | Shows or hides value labels on each bar. |
| Font family | Font applied to data labels. |
| Font size | Maximum 18. On dense clusters, keep this at 9 or 10 to avoid label collision between adjacent bars. |
| Bold / Italic / Color | Text styling. |
| Position | Vertical 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 Type | Default (raw value), Scientific, Decimal, or Percentage. |
| Display Unit | None, Thousand, Million, or Billion. Match this to the X-axis Display Unit. |
| Decimal Places | 0 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.
| Control | What it does |
|---|---|
| Show Legends | Shows or hides the legend. On by default. Hiding it makes clusters unidentifiable. |
| Vertical position | Top, middle, or bottom alignment of the legend block relative to the chart area. |
| Horizontal position | Start, center, or end alignment. |
| Show Name | Default: legend item labels are always visible. On Hover: labels appear only when the viewer hovers the legend. Use Default on shared or exported dashboards. |
| Orientation | Vertical: 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 Gap | Spacing between legend items. |
| Font Size | Legend label font size. |
| Color | Legend 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.
| Control | What it does |
|---|---|
| Show Axis Name | Shows or hides the axis name label. |
| Axis name text | Label text. Maximum 20 characters. Defaults to the field name. |
| Font family | Font applied to the axis name. |
| Font size | 5 to 30. |
| Bold / Italic | Weight and style. |
| Offset (%) | Distance between the axis name and the axis line. Increase if the axis name overlaps the axis labels. |
| Alignment | Start, 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.
| Control | What it does |
|---|---|
| Show Axis Line | Shows or hides the axis line. Hiding it also hides ticks. |
| Line Color | Color of the axis line. |
| Line Width | Thickness of the axis line, 0 to 5. |
| Line Type | Solid, Dashed, or Dotted. |
| Show Ticks | Shows or hides tick marks on the axis line. |
| Tick Color | Color of the tick marks. |
| Tick Length | Length of the tick marks, 5 to 10. |
| Boundary Gap | Adds 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.
| Control | What it does |
|---|---|
| Show Axis Label | Shows or hides labels along the axis. |
| Font family | Font applied to axis labels. |
| Font size | Label font size. Do not go below 10 on Y-axis category labels. |
| Bold / Italic / Color | Text styling. |
| Rotation | Angle 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 case | Title Case, Uppercase, or Lowercase. Available on the categorical axis (Y) only. |
| Display Unit | Scale 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.
| Control | What it does |
|---|---|
| Show Gridlines | Shows or hides grid lines for the selected axis. |
| Grid Color | Color of the grid lines. |
| Left / Right / Top / Bottom | Plot 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.
| Control | What it does |
|---|---|
| Show Tooltip | Shows or hides the tooltip on hover. |
| Trigger | Item: 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. |
| Pointer | When Trigger is Axis: the visual indicator - Line, Shadow, Cross, or None. Shadow highlights the full cluster row at the hovered position. |
| Background Color | Tooltip background color. |
| Headers / Values tabs | Separate 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.
| Control | What it does |
|---|---|
| Enable Animation | Turns the build animation on or off. |
| Duration | How long the animation runs, 0 to 3000ms. The default is 1000ms. |
| Delay | Time before the animation starts after the chart loads, 0 to 2000ms. |
| Easing Function | The 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.
| Control | What it does |
|---|---|
| Show Data Zoom | Shows or hides the zoom control. |
| Zoom Type | Slider: 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. |
| Position | Position of the slider relative to the chart. |
| Alignment | Alignment of the slider control. |
| Orientation | Set 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 Label | Shows range values at the slider handles so viewers know which categories they are viewing. |
| Background Color | Slider background. |
| Filler Color | Color of the selected range inside the slider. |
| Border Color | Slider border. |
| Handle Color | Color of the drag handles. |
| Brush Selection | Enables 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.
| Control | What it does |
|---|---|
| Show Emphasis | Enables or disables the hover effect entirely. |
| Focus Type | Item: 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 Scale | Scales 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 Size | How 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.
| Control | What it does |
|---|---|
| Show Toolbox | Shows or hides the toolbox icon bar. |
| Save as Image | Adds a download icon that saves the chart as a PNG. |
| Data View | Adds 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
Horizontal Bar
Compare categories by value with bars running left to right. One dimension, one measure. Best when category names are long or the category count is high.
Horizontal Stacked Bar
Show part-to-whole composition per category with bars running left to right - best when category names are long and the question is proportional.