> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adriel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Horizontal column chart

> Horizontal bars comparing a metric across a group of categories. Handles more categories and longer category names than a vertical column chart.

A **horizontal column chart** displays a metric as horizontal bars across a group of categories. It's the right choice when the category labels are long, or when there are enough categories that a vertical column chart would look cramped.

## When to use a horizontal column chart

For side-by-side comparisons where a vertical column chart would fall short:

* **Long category names** — for example, campaign names that would truncate in a vertical column chart's X-axis labels.
* **Many categories** — horizontal orientation lets more categories fit without crowding.
* **Ranked lists** — horizontal bars read naturally as a top-to-bottom ranking.

For direct value-to-value comparisons across a small set of categories, a [column chart](/widgets/widget-library/chart-widgets/column-chart) is usually easier to read.

## Configure a horizontal column chart

### Mandatory fields

<Steps>
  <Step title="Pick a data source">
    In the **Data sources** section, select the data source to include. Horizontal column charts support both ad and non-ad data sources.
  </Step>

  <Step title="Pick an X-axis metric">
    Click **Edit** on the X-axis metric field to open the picker panel. Pick up to **20 metrics** to make available in the widget's dropdown, reorder them if needed, and set the active one shown by default. The active metric renders as the bar length — for example, Spend, Impressions, Conversions. New custom metrics can be created directly from the picker panel without leaving the chart widget. In a horizontal column chart the metric lives on the X-axis because the bars extend horizontally.
  </Step>

  <Step title="Pick a Y-axis">
    Click **Edit** on the Y-axis field to open the picker panel. Pick up to **20 breakdowns** to make available in the widget's dropdown, reorder them if needed, and set the active one shown by default. The active breakdown renders as the vertical axis — for example, a breakdown (such as Campaign name, Ad name, Country, or Landing page) or a time unit (such as Day, Week, or Month). New custom breakdowns can be created directly from the picker panel without leaving the chart widget.

    Note: date breakdowns have per-connector lookback limits. See [Breakdowns → Date breakdown limits](/widgets/breakdowns-and-metrics/breakdowns#date-breakdown-limits).
  </Step>

  <Step title="Set the Group by">
    Click **Edit** on the Group by field to open the picker panel. Pick up to **20 breakdowns** to make available in the widget's dropdown, reorder them if needed, and set the active one shown by default. The active breakdown renders as sub-series grouping — for example, Y-axis = Campaign name + Group by = Channel produces one sub-bar per channel per campaign. To show a single bar per Y-axis position without sub-series, select the **No grouping** option.

    The Group by cannot be a date breakdown — dates belong on the Y-axis.
  </Step>
</Steps>

Widget changes save automatically when the settings panel closes. Persist changes to the dashboard by clicking **Save dashboard**.

### Optional fields

* **Widget filter** — narrow the data feeding the widget. See [Filters](/dashboards/filters-and-dates/filters).
* **Period** — override the dashboard's date range. See [Date ranges](/dashboards/filters-and-dates/date-ranges).
* **Hide metric value** — hide items whose **Ad Spend**, **Impressions**, or **Link Clicks** meet a threshold. Two blocks are available: a preset "Value = 0" checkbox per metric, and a custom threshold block with an operator (default `≤`) and value. Both can be combined.
* **Trend line** — overlay a linear trend across the items.
* **Display settings** — controls **Number of items** (All, 5, 10, 15, 20; default 10), **Sort order**, and a Hide "others" toggle for the aggregate residual.
* **X-axis range** — defaults to **auto-scale**. Set a manual minimum and maximum to force the horizontal (metric) axis scale.
* **Data labels** — show the metric value on each item. Off by default.
* **Grid** — toggle background gridlines.
* **Chart controls** — toggle whether Chart controls render on this widget. On by default.

## Sort and Others

Sorting is applied to the bars — descending sort places the highest-value bar at the top. When more items exist than Number of items permits, the excess collapses into an **others** bar that is always placed at the bottom, regardless of sort order.

## Chart controls

Chart controls are toggled on or off per widget from the **Chart controls** switch in the widget settings panel. When off, Chart controls don't render on the widget; when on, the dropdowns configured below appear on the widget.

Some key settings can be updated directly from the widget header without opening the settings panel. The **Chart controls** on a horizontal column chart expose:

* **Chart type** — a switcher on the left of the widget header to change to another chart type.
* **X-axis** — swap the metric shown as the bar length inline.
* **Y-axis** — swap the vertical axis inline.
* **Group by** — change the sub-series grouping inline.

Changes made in the Chart controls **aren't saved automatically** — click **Save dashboard** to persist them. Chart controls are read-only when viewing a shared dashboard. In shared dashboards, Chart controls show only the items selected in each field, matching what the dashboard owner configured.

## Comparison mode

Horizontal column charts render comparison values as a **line overlay** across the bars, using the same logic as the column chart. The overlay only appears when both conditions are met:

* The dashboard-level or widget-level Compare toggle is on.
* The chart's **Y-axis is a time unit** (such as Day, Week, or Month).

The comparison line represents the **previous period's total** across the visible window — if the chart has a Group by, comparison ignores it and plots only the aggregated total.

For any non-time Y-axis, no comparison overlay renders.

## Widget styling

Global widget style settings — font, border, background, and color themes — apply to every widget through the [Dashboard style settings](/dashboards/building/dashboard-style-settings#global-widget-settings). On top of those, Horizontal column chart widgets have style options unique to this widget type:

* **Color type** — toggle between **Solid** and **Gradient** for the fill of each column.
* **Trendline** — when a trend line is enabled on a metric, its visual can be customized:
  * **Color** (HEX).
  * **Line style** — Solid, dashed, or dotted.
  * **Line width** (px).

## Troubleshooting

<AccordionGroup>
  <Accordion title="Category labels are still cut off">
    Increase the widget's width on the grid, reduce the group cardinality with a widget filter, or pick a coarser Y-axis (for example, Campaign instead of Ad).
  </Accordion>

  <Accordion title="Others bar dominates the chart">
    The data has a long tail — most items fall into others. Narrow with a widget filter, or increase Number of items in Display settings if the underlying data supports it.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="Column chart" href="/widgets/widget-library/chart-widgets/column-chart">
    Vertical version — easier for small sets of categories.
  </Card>

  <Card title="Line chart" href="/widgets/widget-library/chart-widgets/line-chart">
    Trends over time.
  </Card>

  <Card title="Ads Table" href="/widgets/widget-library/table-widgets/ads-table">
    Row-by-row breakdowns without visual truncation.
  </Card>
</CardGroup>
