Tableau's grammar of graphics is hidden in plain sight on the Marks card. Whatever's on Columns and Rows positions the data; whatever's on the Marks card encodes everything else — colour, size, shape, label, tooltip, detail. Master this and you stop reaching for chart-type pickers and start composing visualisations from primitives.
The Marks card shelves
- Colour: maps a dimension or measure to colour. Discrete → distinct hues. Continuous → gradient.
- Size: dimension → discrete sizes; measure → continuous size. Use sparingly — humans read size poorly.
- Shape: discrete only. Drop pin shapes onto a scatter to differentiate categories.
- Label: shows the value as text on the mark. Toggle 'highlighted only' to label conditionally.
- Detail: adds dimensions to the level of detail WITHOUT changing the chart structure. The most under-used feature.
- Tooltip: extra information that appears on hover. Customisable; can include a worksheet (viz-in-tooltip).
Detail = invisible groupings
Put Region on Detail and the chart now groups data at the Region level — but Region doesn't show on the chart. Useful for: a single line per region without colour, a scatter where each dot is one customer (Customer ID on Detail), or splitting an aggregate without cluttering the view. Detail is to Tableau what GROUP BY is to SQL — the level-of-detail control.
Try the grammar in your browser
Don't have Tableau? Open the LeadAfrik Viz Studio at /learn/viz-studio. It's a drag-and-drop chart builder on real Kenya datasets that uses the same Marks-card mental model — drop fields onto x, y, colour shelves, pick a mark type, see the chart. The grammar you practise there transfers directly into Tableau when you do get a licence.
Mark types
Tableau auto-picks a mark type based on what's on the shelves: continuous on rows + date on columns gives line; categorical gives bar. Override via the dropdown at the top of the Marks card. Square marks for treemaps; circle for scatter and bubble; map for geographic data; text for tables; Gantt for time-range overlays.
Dual axis — two measures, one chart
Drag a second measure to the right edge of the chart → a second axis appears. Right-click → Synchronise Axis if the two measures share scale. Useful for: actual vs target, revenue vs growth rate, temperature vs humidity. Use carefully — dual axis is widely abused for charts that should have been two separate views.
Exercise
Build a single Tableau worksheet showing revenue and growth-rate over time on the same chart. Use a bar for revenue and a line for growth. Make growth read on a separate y-axis. Then add Region on the Detail shelf. What changes? What stays the same?