Skip to content

table attributes ​

Tables: formatted values in columns with a fixed header, placed by domain; virtualized rows (only the visible ones are laid out and drawn) with wheel, drag and scrollbar scrolling, and drag-to-reorder columns.

  • Categories: domain, noOpacity
  • Plotly equivalent: table
  • Guide: table chart page
  • Used in examples: demos/dallas-weather/records-table, demos/index-funds/scorecard-table, demos/index-funds/year-table, demos/science-basics/planets-table, demos/tqqq-soxl/year-table, reports/regional-revenue, table/basic, table/interaction, table/rich-text, table/styled, table/virtualized, table/wide, table/with-chart

Generated from the attribute schema (80 entries). Machine-readable: plot-schema.json.

Attribute tree

type string ​

Trace type, e.g. 'scatter'. Defaults to 'scatter'.

  • Type: string (non-empty)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

visible enumerated ​

Whether the trace is drawn. legendonly hides it but keeps its (toggleable) legend entry.

  • Type: enumerated
  • Values: true | false | "legendonly"
  • Default: true
  • Array OK: no
  • Edit type: calc
  • Animatable: no

name string ​

Trace name shown in the legend and hover labels. Defaults to trace N.

  • Type: string
  • Default: none
  • Array OK: no
  • Edit type: legend+plot
  • Animatable: no

uid string ​

Stable identity used to match traces across updates, so reordered traces are moved instead of rebuilt.

  • Type: string
  • Default: none
  • Array OK: no
  • Edit type: plot
  • Animatable: no

showlegend boolean ​

Whether this trace has a legend entry.

  • Type: boolean
  • Default: true
  • Array OK: no
  • Edit type: legend+layout
  • Animatable: no

legend subplotid ​

The legend this trace's item is shown in: 'legend' (layout.legend), 'legend2' (layout.legend2), ….

  • Type: subplotid (legend, legend2, legend3, …)
  • Default: "legend"
  • Array OK: no
  • Edit type: legend+layout
  • Animatable: no

legendgroup string ​

Traces in the same legend group toggle together.

  • Type: string
  • Default: ""
  • Array OK: no
  • Edit type: legend
  • Animatable: no

hovertext string ​

Hover text per point; defaults to text.

  • Type: string
  • Default: ""
  • Array OK: yes (one value per point)
  • Edit type: style
  • Animatable: no

hoverinfo flaglist ​

Which fields hover labels show; 'skip' also turns hover events off for this trace. Default 'all'.

  • Type: flaglist
  • Flags: "x", "y", "z", "text", "name" (combine with +)
  • Also accepts: "all" | "none" | "skip"
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

hovertemplate string ​

Template for hover labels, e.g. '%{x}: %{y:.2f}<extra></extra>' (d3-format / d3-time-format after : / |). Overrides hoverinfo.

  • Type: string
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

hoverlabel ​

Hover label style for this trace. Unset fields fall back to layout.hoverlabel (so there are no trace-level defaults).

  • Type: object
  • Edit type: none

hoverlabel.bgcolor color ​

Label background. Default: the point color.

  • Type: color
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

hoverlabel.bordercolor color ​

Label border. Default: contrasting with the background.

  • Type: color
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

hoverlabel.font ​

Label font.

  • Type: object
  • Edit type: none

hoverlabel.font.family string ​

Font family.

  • Type: string
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

hoverlabel.font.size number ​

Font size in px.

  • Type: number ≥ 1
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

hoverlabel.font.color color ​

Font color.

  • Type: color
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

hoverlabel.align enumerated ​

Text alignment inside labels.

  • Type: enumerated
  • Values: "left" | "right" | "auto"
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

hoverlabel.namelength integer ​

Characters of the trace name shown (-1: all, 0: none).

  • Type: integer ≥ -1
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: none
  • Animatable: no

selectedpoints any ​

Indices of the selected points (set by box/lasso selection, or programmatically). null clears the selection.

  • Type: any
  • Default: none
  • Array OK: no
  • Edit type: style
  • Animatable: no

legendrank number ​

Sort key for legend entries: lower ranks come first (top, or left). Ties keep trace order; traces default to 1000.

  • Type: number
  • Default: 1000
  • Array OK: no
  • Edit type: legend
  • Animatable: no

legendwidth number ​

Width of this trace's item in horizontal legends, overriding legend.entrywidth (same units). Default: its text's.

  • Type: number ≥ 0
  • Default: none
  • Array OK: no
  • Edit type: legend
  • Animatable: no

legendgrouptitle ​

Title of the legend group this trace belongs to.

  • Type: object
  • Edit type: legend

legendgrouptitle.text string ​

Title heading this trace's legend group.

  • Type: string
  • Default: ""
  • Array OK: no
  • Edit type: legend
  • Animatable: no

legendgrouptitle.font ​

Group title font. Unset fields come from legend.grouptitlefont.

  • Type: object
  • Edit type: legend

legendgrouptitle.font.family string ​

Font family.

  • Type: string
  • Default: none
  • Array OK: no
  • Edit type: legend
  • Animatable: no

legendgrouptitle.font.size number ​

Font size in px.

  • Type: number ≥ 1
  • Default: none
  • Array OK: no
  • Edit type: legend
  • Animatable: no

legendgrouptitle.font.color color ​

Font color.

  • Type: color
  • Default: none
  • Array OK: no
  • Edit type: legend
  • Animatable: no

legendgrouptitle.font.weight integer ​

Font weight: a CSS numeric weight (1–1000), normal or bold.

  • Type: integer from 1 to 1000, or "normal" | "bold"
  • Default: none
  • Array OK: no
  • Edit type: legend
  • Animatable: no

legendgrouptitle.font.style enumerated ​

Font style.

  • Type: enumerated
  • Values: "normal" | "italic"
  • Default: none
  • Array OK: no
  • Edit type: legend
  • Animatable: no

opacity number ​

Opacity of the whole trace.

  • Type: number from 0 to 1
  • Default: 1
  • Array OK: no
  • Edit type: style
  • Animatable: yes

meta any ​

Arbitrary user data, available in text templates as %{meta}.

  • Type: any
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

customdata data_array ​

Per-point user data, returned in events and available in hover templates.

  • Type: data_array (array or typed array)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

ids data_array ​

Per-point ids used to match points across animation frames.

  • Type: data_array (array or typed array)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

dataset string ​

Name of a figure-level dataset (figure.datasets). Data arrays, and per-point attributes whose values cannot start with @ (such as colors and sizes), may then reference its columns as '@column'; on string attributes such as text, '@…' stays literal text.

  • Type: string (non-empty)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

uirevision any ​

While unchanged, user interaction state for this trace (legend visibility, selections) is kept across updates.

  • Type: any
  • Default: none
  • Array OK: no
  • Edit type: none
  • Animatable: no

styleRules any ​

Conditional per-point styling as JSON (plan E8.5): [{ when: { y: { gt: 10 } }, set: { 'marker.color': 'gold' } }]. when tests fields of the point ('y', 'customdata[1]', 'pointNumber', …) with eq, ne, gt, gte, lt, lte, in, nin, between, regex, and, or and not; set gives per-point (arrayOk) attributes a value on the matching points. Later rules win; other points keep the trace's own value.

  • Type: any
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

domain ​

Where this trace is drawn, as a part of the plot area.

  • Type: object
  • Edit type: plot

domain.x info_array ​

Horizontal extent [start, end] of this trace as fractions of the plot area. Defaults to the layout.grid column when column is set, else [0, 1].

  • Type: info_array [number, number]
  • Default: [0, 1]
  • Array OK: no
  • Edit type: plot
  • Animatable: no

domain.y info_array ​

Vertical extent [start, end] of this trace as fractions of the plot area (from the bottom). Defaults to the layout.grid row when row is set, else [0, 1].

  • Type: info_array [number, number]
  • Default: [0, 1]
  • Array OK: no
  • Edit type: plot
  • Animatable: no

domain.row integer ​

Row of the layout.grid cell this trace is placed in (0 = first row in roworder). Only used with a grid.

  • Type: integer ≥ 0
  • Default: 0
  • Array OK: no
  • Edit type: plot
  • Animatable: no

domain.column integer ​

Column of the layout.grid cell this trace is placed in (0 = leftmost). Only used with a grid.

  • Type: integer ≥ 0
  • Default: 0
  • Array OK: no
  • Edit type: plot
  • Animatable: no

columnwidth number ​

Relative column widths: columns share the domain width in proportion to these values (one for all, or one per column; a short array repeats its last entry, non-numeric entries count 1).

  • Type: number
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

columnorder data_array ​

The rendered order of the data columns: a value 2 at position 0 means that data column 0 is drawn as the third column. Dragging a header cell reorders the columns and restyles this attribute.

  • Type: data_array (array or typed array)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

The header: fixed above the scrolling cells; drag a header cell to reorder columns.

  • Type: object
  • Edit type: calc

header.values data_array ​

Header text, one entry per column: a value, or an array of values for several header rows. Plotly pseudo-HTML is accepted (tags are stripped until rich text lands; <br> breaks lines).

  • Type: data_array (array or typed array)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

header.format data_array ​

d3-format specifiers applied to numeric values (e.g. ,.2f, .1%), one per column or, nested, per column and row. Non-numeric values are shown as they are.

  • Type: data_array (array or typed array)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

header.prefix string ​

Text before each value, one per column or, nested, per column and row.

  • Type: string
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: calc
  • Animatable: no

header.suffix string ​

Text after each value, one per column or, nested, per column and row.

  • Type: string
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: calc
  • Animatable: no

header.height number ​

Height of the header rows in px. Rows grow to fit text that has spaces, line breaks or markup: its height plus 8 px of padding above and below (Plotly's cellPad).

  • Type: number
  • Default: 28
  • Array OK: no
  • Edit type: plot
  • Animatable: no

header.align enumerated ​

Horizontal alignment of the text in its cell, one per column or, nested, per column and row.

  • Type: enumerated
  • Values: "left" | "center" | "right"
  • Default: "center"
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

header.line ​

Cell outlines.

  • Type: object
  • Edit type: plot

header.line.width number ​

Width of the cell outlines in px (centered on the cell edges), one per column or, nested, per column and row.

  • Type: number
  • Default: 1
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

header.line.color color ​

Color of the cell outlines, one per column or, nested, per column and row.

  • Type: color
  • Default: "grey"
  • Array OK: yes (one value per point)
  • Edit type: style
  • Animatable: no

header.fill ​

Cell background.

  • Type: object
  • Edit type: style

header.fill.color color ​

Cell background color, one per column or, nested, per column and row (e.g. alternating row colors).

  • Type: color
  • Default: "white"
  • Array OK: yes (one value per point)
  • Edit type: style
  • Animatable: no

header.font ​

Font of the header text. Defaults to layout.font.

  • Type: object
  • Edit type: plot

header.font.family string ​

CSS font-family list, or one per column (nested arrays: per row).

  • Type: string (non-empty)
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

header.font.size number ​

Font size in CSS px, or one per column (nested arrays: per row).

  • Type: number ≥ 1
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

header.font.color color ​

Text color, or one per column (nested arrays: per row).

  • Type: color
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: style
  • Animatable: no

header.font.weight integer ​

Font weight: a CSS numeric weight (1–1000), normal or bold, or one per column.

  • Type: integer from 1 to 1000, or "normal" | "bold"
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

header.font.style enumerated ​

Font style, or one per column (nested arrays: per row).

  • Type: enumerated
  • Values: "normal" | "italic"
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

cells ​

The cells, scrolled with the wheel, by dragging, or with the scrollbar.

  • Type: object
  • Edit type: calc

cells.values data_array ​

Cell values, column by column: values[column][row]. Columns may differ in length (short ones are padded with empty cells). A column beyond the header gets an empty header.

  • Type: data_array (array or typed array)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

cells.format data_array ​

d3-format specifiers applied to numeric values (e.g. ,.2f, .1%), one per column or, nested, per column and row. Non-numeric values are shown as they are.

  • Type: data_array (array or typed array)
  • Default: none
  • Array OK: no
  • Edit type: calc
  • Animatable: no

cells.prefix string ​

Text before each value, one per column or, nested, per column and row.

  • Type: string
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: calc
  • Animatable: no

cells.suffix string ​

Text after each value, one per column or, nested, per column and row.

  • Type: string
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: calc
  • Animatable: no

cells.height number ​

Height of the rows in px. Rows grow to fit text that has spaces, line breaks or markup: its height plus 8 px of padding above and below (Plotly's cellPad).

  • Type: number
  • Default: 20
  • Array OK: no
  • Edit type: plot
  • Animatable: no

cells.align enumerated ​

Horizontal alignment of the text in its cell, one per column or, nested, per column and row.

  • Type: enumerated
  • Values: "left" | "center" | "right"
  • Default: "center"
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

cells.line ​

Cell outlines.

  • Type: object
  • Edit type: plot

cells.line.width number ​

Width of the cell outlines in px (centered on the cell edges), one per column or, nested, per column and row.

  • Type: number
  • Default: 1
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

cells.line.color color ​

Color of the cell outlines, one per column or, nested, per column and row.

  • Type: color
  • Default: "grey"
  • Array OK: yes (one value per point)
  • Edit type: style
  • Animatable: no

cells.fill ​

Cell background.

  • Type: object
  • Edit type: style

cells.fill.color color ​

Cell background color, one per column or, nested, per column and row (e.g. alternating row colors).

  • Type: color
  • Default: "white"
  • Array OK: yes (one value per point)
  • Edit type: style
  • Animatable: no

cells.font ​

Font of the cells text. Defaults to layout.font.

  • Type: object
  • Edit type: plot

cells.font.family string ​

CSS font-family list, or one per column (nested arrays: per row).

  • Type: string (non-empty)
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

cells.font.size number ​

Font size in CSS px, or one per column (nested arrays: per row).

  • Type: number ≥ 1
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

cells.font.color color ​

Text color, or one per column (nested arrays: per row).

  • Type: color
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: style
  • Animatable: no

cells.font.weight integer ​

Font weight: a CSS numeric weight (1–1000), normal or bold, or one per column.

  • Type: integer from 1 to 1000, or "normal" | "bold"
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

cells.font.style enumerated ​

Font style, or one per column (nested arrays: per row).

  • Type: enumerated
  • Values: "normal" | "italic"
  • Default: none
  • Array OK: yes (one value per point)
  • Edit type: plot
  • Animatable: no

Released under the MIT License.