Skip to main content

Axes

The X Axis and Y Axis cards control the scale, tick labels, and title of each axis.

X Axis settings panel

Continuous or categorical

Each axis accepts either a measure or a category:

  • Drop a measure (numeric value) → the axis is continuous and behaves like a classic XY scatter scale.
  • Drop a column / category (text or discrete value) → the axis becomes categorical: one evenly spaced column (or row) per distinct value, labeled with the category name.

You can mix the two — for example a category on Y and a measure on X produces a horizontal "table rows" layout (one row per category, the measure as the score along X).

Discrete variable on the X axis (left) and on the Y axis (right)

Settings that apply to continuous axes only

Range Min/Max, Logarithmic, Origin, Display Units and Decimal Places have no effect on a categorical axis. Likewise, the zoom inset and the analytic overlays that need a numeric scale (constant lines, symmetry shading, ratio line, min/max/median/average lines) are automatically disabled on the affected axis.

Crossing two categories

Putting a category on both axes turns the scatter into a presence / absence matrix: each cell shows whether a given combination of the two categories exists in the data. It is an effective way to spot which combinations are present and which are missing.

Two discrete variables crossed — a matrix of existing vs. missing combinations

Overlap is intentional here

When both axes are categorical, several rows that share the same pair of categories land on the same cell and overlap. That is exactly what makes this a presence/absence view: you read whether a combination exists, not how many rows it contains. Use the Size or Color encodings, or a legend, if you need to distinguish the points within a cell.

Common Properties

Both axes support:

PropertyDescriptionDefault
Show AxisShow or hide the entire axis (line, ticks, labels, title)On
Narrow BorderRemove axis line and tick marks, minimize margins to push labels as close to the viewport edge as possibleOff
Range Min/Max (continuous)Manual axis bounds (leave empty for auto)Auto
Logarithmic (continuous)Logarithmic scaleOff
Invert RangeReverse the axis directionOff
ValuesShow/hide tick labelsOn
FontLabel font settingsSegoe UI, 10px
Units (continuous)Auto, None, Thousands (k), Millions (M), Billions (Bn), Percentage (%)Auto
Decimal Places (continuous)Auto, 0–4Auto
Origin (continuous)Auto, Zero, CenterAuto
Label Orientation (X only)Auto, Horizontal, Oblique, VerticalAuto
Automatic Size (X only)Auto-adjust font size to fit available spaceOff
Show TitleDisplay axis titleOn

Y Axis — categorical extras

Y Axis settings panel, including the Row separators toggle

When the Y axis carries categories, two behaviors help with long labels and the "table rows" reading pattern:

PropertyDescriptionDefault
Row separatorsDraw light horizontal lines between category rows for a table-like lookOff
  • Long category names wrap automatically across several lines, vertically centered on their row. The left margin is capped so labels never crowd out the plot area.
  • Row separators are drawn on the band boundaries (between rows), so each point stays centered in its own row rather than being underlined.
Even spacing

Categorical columns and rows are spaced evenly: the outer margins are half the gap between categories, and the spacing fills the available width (or height). This is automatic — there is nothing to configure.

Narrow Border — maximize chart area

Enable Narrow Border on both axes to remove axis lines and tick marks while keeping the value labels. This is especially useful for small visuals or dashboard tiles where every pixel counts. The margins are reduced to the strict minimum — just enough for the label text.

Percentage auto-detection

When a measure is formatted as a percentage in your data model (e.g., format string 0%), the axis automatically displays values as percentages (0.25 → 25%). You can also force this behavior by selecting Percentage (%) in the Units dropdown.