Skip to content

Variable: parcatsAttributes ​

ts
const parcatsAttributes: ObjectNode<{
  arrangement: Attr<"perpendicular" | "freeform" | "fixed", {
     description: "Dragging: categories move vertically and dimensions horizontally (`'perpendicular'`), categories move freely (`'freeform'`), or nothing moves (`'fixed'`).";
     dflt: "perpendicular";
     editType: "plot";
     values: readonly ["perpendicular", "freeform", "fixed"];
  }>;
  bundlecolors: Attr<boolean, {
     description: "Group paths of the same color together within each category.";
     dflt: true;
     editType: "plot";
  }>;
  counts: Attr<
     | number
     | TypedArray
     | readonly number[], {
     arrayOk: true;
     description: "Weight of each sample (one for all, or one per sample; arrays repeat).";
     dflt: 1;
     editType: "calc";
     min: 0;
  }>;
  dimensions: ItemsNode<object & TemplatedItemChildren>;
  hoverinfo: Attr<
     | "all"
     | "count"
     | "probability"
     | "none"
     | "skip"
     | `count+${string}`
     | `probability+${string}`, {
     description: "Fields of the hover labels; `'none'` keeps the highlighting without labels, `'skip'` turns hover off.";
     dflt: "all";
     editType: "none";
     extras: readonly ["all", "none", "skip"];
     flags: readonly ["count", "probability"];
  }>;
  hoveron: Attr<"category" | "color" | "dimension", {
     description: "What a hover over a category band shows: the category, the colored band under the pointer (`'color'`), or every category of the dimension.";
     dflt: "category";
     editType: "none";
     values: readonly ["category", "color", "dimension"];
  }>;
  labelfont: ObjectNode<{
     color: Attr<string, {
        description: "Text color. Default: `layout.font.color`.";
        editType: "style";
     }>;
     family: Attr<string, {
        description: "CSS font-family list. Default: `layout.font.family`.";
        editType: "plot";
        noBlank: true;
        strict: true;
     }>;
     shadow: Attr<string, {
        description: "CSS `text-shadow` (first shadow only), `'none'`, or `'auto'`: a thin halo in the text's contrast color. Tick labels default to `'auto'`, so they read over the lines.";
        editType: "plot";
     }>;
     size: Attr<number, {
        description: "Font size in CSS px.";
        editType: "plot";
        min: 1;
     }>;
     style: Attr<"normal" | "italic", {
        description: "Font style.";
        editType: "plot";
        values: readonly ["normal", "italic"];
     }>;
     weight: Attr<number | "normal" | "bold", {
        description: "Font weight: a CSS numeric weight (1–1000), `normal` or `bold`.";
        editType: "plot";
        extras: readonly ["normal", "bold"];
        max: 1000;
        min: 1;
     }>;
  }>;
  line: ObjectNode<{
     autocolorscale: Attr<boolean, {
        description: "Pick the colorscale from the sign of the color domain (`layout.colorscale.sequential`, `sequentialminus` or `diverging`) instead of `colorscale`.";
        editType: "style";
     }>;
     cauto: Attr<boolean, {
        description: "Compute the color domain from the numeric `line.color` values. Defaults to false when both `cmin` and `cmax` are given.";
        editType: "style";
     }>;
     cmax: Attr<number, {
        description: "Value mapped to the last colorscale color (with `cmin`; turns `cauto` off).";
        editType: "style";
     }>;
     cmid: Attr<number, {
        description: "With `cauto`, widen the automatic domain so it is symmetric around this value (diverging data).";
        editType: "style";
     }>;
     cmin: Attr<number, {
        description: "Value mapped to the first colorscale color (with `cmax`; turns `cauto` off).";
        editType: "style";
     }>;
     color: Attr<string | readonly string[], {
        arrayOk: true;
        description: "Path color: one CSS color, or one number per sample mapped through `line.colorscale` (samples of different colors form separate paths). Default: the trace color.";
        editType: "calc";
     }>;
     colorbar: ObjectNode<{
        bgcolor: Attr<string, {
           description: "Background of the box.";
           dflt: "rgba(0,0,0,0)";
        }>;
        bordercolor: Attr<string, {
           description: "Border color of the colorbar box.";
           dflt: "#444";
        }>;
        borderwidth: Attr<number, {
           description: "Border width of the box, px.";
           dflt: 0;
           min: 0;
        }>;
        dtick: AttrSpec<unknown, unknown>;
        exponentformat: Attr<"none" | "e" | "E" | "power" | "SI" | "B", {
           description: "How large and small numbers are written: `none` (1000000), `e` (1e+6), `E` (1E+6), `power` (1×10⁶), `SI` (1M), `B` (like SI but 1B for 10⁹).";
           dflt: "B";
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
           values: readonly ["none", "e", "E", "power", "SI", "B"];
        }>;
        len: Attr<number, {
           description: "Length of the colorbar along its axis, padding included (`ypad` / `xpad`).";
           dflt: 1;
           min: 0;
        }>;
        lenmode: Attr<"fraction" | "pixels", {
           description: "Unit of `len`: px, or a fraction of the plot height (`v`) / width (`h`).";
           dflt: "fraction";
           values: readonly ["fraction", "pixels"];
        }>;
        minexponent: Attr<number, {
           description: "Smallest decimal exponent written in exponent form (`SI`/`B` and exponent formats); smaller magnitudes are written out in full.";
           dflt: 3;
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
           min: 0;
        }>;
        nticks: Attr<number, {
           description: "Maximum number of ticks for `tickmode: auto` (the actual number may be lower so steps stay round). 0 picks it from the axis length.";
           dflt: 0;
           editType: "ticks";
           min: 0;
        }>;
        orientation: Attr<"v" | "h", {
           description: "Vertical bar (`v`, beside the plot) or horizontal bar (`h`, above or below).";
           dflt: "v";
           values: readonly ["h", "v"];
        }>;
        outlinecolor: Attr<string, {
           description: "Color of the outline around the bar.";
           dflt: "#444";
        }>;
        outlinewidth: Attr<number, {
           description: "Outline width, px.";
           dflt: 1;
           min: 0;
        }>;
        separatethousands: Attr<boolean, {
           description: "Always separate thousands (1,000). By default only numbers with 5 or more integer digits are separated.";
           dflt: false;
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
        }>;
        showexponent: Attr<"all" | "none" | "first" | "last", {
           description: "Which tick labels show the exponent.";
           dflt: "all";
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
           values: readonly ["all", "first", "last", "none"];
        }>;
        showticklabels: Attr<boolean, {
           description: "Show tick labels.";
           dflt: true;
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
        }>;
        showtickprefix: Attr<"all" | "none" | "first" | "last", {
           description: "Which tick labels get `tickprefix`.";
           dflt: "all";
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
           values: readonly ["all", "first", "last", "none"];
        }>;
        showticksuffix: Attr<"all" | "none" | "first" | "last", {
           description: "Which tick labels get `ticksuffix`.";
           dflt: "all";
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
           values: readonly ["all", "first", "last", "none"];
        }>;
        thickness: Attr<number, {
           description: "Thickness of the color bar.";
           dflt: 30;
           min: 0;
        }>;
        thicknessmode: Attr<"fraction" | "pixels", {
           description: "Unit of `thickness`: px, or a fraction of the plot width (`v`) / height (`h`).";
           dflt: "pixels";
           values: readonly ["fraction", "pixels"];
        }>;
        tick0: AttrSpec<unknown, unknown>;
        tickangle: Attr<number | "auto", {
           description: "Tick-label rotation in degrees. `auto` rotates x-axis labels by the first `autotickangles` entry that avoids overlap.";
           dflt: "auto";
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
           extras: readonly ["auto"];
        }>;
        tickcolor: Attr<string, {
           description: "Tick color. Defaults to `color`.";
           editType: "ticks";
        }>;
        tickfont: ObjectNode<{
           color: Attr<string, {
              description: "Text color.";
              editType: "style";
           }>;
           family: Attr<string, {
              description: "CSS font-family list. The renderer uses the first family it can load and falls back through the list.";
              noBlank: true;
              strict: true;
           }>;
           lineposition: Attr<
              | "none"
              | "under"
              | "over"
              | "through"
              | `under+${(...)}`
              | `over+${(...)}`
              | `through+${(...)}`, {
              description: "Text decoration: `under`, `over` and/or `through` joined with `+` (e.g. `under+over`), or `none`.";
              extras: readonly [...];
              flags: readonly [..., ..., ...];
           }>;
           shadow: Attr<string, {
              description: "CSS `text-shadow` behind the text (`2px 2px 3px black`; only the first shadow is drawn), `none`, or `auto` for a thin halo in the contrast color of the text.";
           }>;
           size: Attr<number, {
              description: "Font size in CSS pixels.";
              min: 1;
           }>;
           style: Attr<"normal" | "italic", {
              description: "Font style.";
              values: readonly [..., ...];
           }>;
           textcase: Attr<"normal" | "word caps" | "upper" | "lower", {
              description: "Letter case transform: `upper`, `lower`, `word caps` (first letter of each word), or `normal`.";
              values: readonly [..., ..., ..., ...];
           }>;
           variant: Attr<
              | "normal"
              | "small-caps"
              | "all-small-caps"
              | "all-petite-caps"
              | "petite-caps"
              | "unicase", {
              description: "Capitals variant (CSS `font-variant-caps`). The SDF text renderer approximates small and petite caps with uppercase letters at a reduced size.";
              values: readonly [..., ..., ..., ..., ..., ...];
           }>;
           weight: Attr<number | "normal" | "bold", {
              description: "Font weight: a CSS numeric weight (1–1000), `normal` or `bold`.";
              extras: readonly [..., ...];
              max: 1000;
              min: 1;
           }>;
        }>;
        tickformat: Attr<string, {
           description: "Tick-label format: a d3-format specifier for numbers (`.2f`, `~s`, `$,`) or a d3-time-format specifier for dates (`%b %Y`), plus `%{n}f` for `n` digits of fractional seconds and `%h` for the half year. Empty picks a format automatically.";
           dflt: "";
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
        }>;
        ticklabeloverflow: Attr<"allow" | "hide past div" | "hide past domain", {
           description: "Hide labels past the figure or past the bar. Defaults to `hide past domain` for inside labels, else `hide past div`.";
           values: readonly ["allow", "hide past div", "hide past domain"];
        }>;
        ticklabelposition: Attr<
           | "inside"
           | "outside"
           | "outside top"
           | "inside top"
           | "outside left"
           | "inside left"
           | "outside right"
           | "inside right"
           | "outside bottom"
           | "inside bottom", {
           description: "Tick labels outside the bar (away from it) or inside (over it); `top`/`bottom` (`v`) or `left`/`right` (`h`) move them beside their tick.";
           dflt: "outside";
           values: readonly ["outside", "inside", "outside top", "inside top", "outside bottom", "inside bottom", "outside left", "inside left", "outside right", "inside right"];
        }>;
        ticklabelstep: Attr<number, {
           description: "Label every n-th tick only (`tickmode` `auto` and `linear`).";
           dflt: 1;
           editType: "ticks";
           min: 1;
        }>;
        ticklen: Attr<number, {
           description: "Tick length in px.";
           dflt: 5;
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
           min: 0;
        }>;
        tickmode: Attr<"linear" | "auto" | "array" | "sync", {
           description: "`auto` picks up to `nticks` round ticks; `linear` places ticks from `tick0` every `dtick`; `array` uses `tickvals`/`ticktext`; `sync` aligns with the overlaid axis (reserved; behaves as `auto`). Defaults to `array` when `tickvals` is set, `linear` when `dtick` is set, else `auto`.";
           editType: "ticks";
           values: readonly ["auto", "linear", "array", "sync"];
        }>;
        tickprefix: Attr<string, {
           description: "Text before each tick label.";
           dflt: "";
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
        }>;
        ticks: Attr<"" | "inside" | "outside", {
           description: "Draw tick marks outside or inside the plot area, or not at all (`''`).";
           dflt: "";
           editType: EditType;
           values: readonly ["outside", "inside", ""];
        }>;
        ticksuffix: Attr<string, {
           description: "Text after each tick label.";
           dflt: "";
           editType: readonly (
              | "none"
              | "legend"
              | "calc"
              | "calcIfAutorange"
              | "crossTraceCalc"
              | "layout"
              | "ticks"
              | "plot"
              | "style"
              | "colorbars"
              | "modebar"
             | "camera")[];
        }>;
        ticktext: AttrSpec<DataArray, DataArray | undefined>;
        tickvals: AttrSpec<DataArray, DataArray | undefined>;
        tickwidth: Attr<number, {
           description: "Tick width in px.";
           dflt: 1;
           editType: "ticks";
           min: 0;
        }>;
        title: ObjectNode<{
           font: ObjectNode<{
              color: Attr<..., ...>;
              family: Attr<..., ...>;
              lineposition: Attr<..., ...>;
              shadow: Attr<..., ...>;
              size: Attr<..., ...>;
              style: Attr<..., ...>;
              textcase: Attr<..., ...>;
              variant: Attr<..., ...>;
              weight: Attr<..., ...>;
           }>;
           side: Attr<"top" | "bottom" | "right", {
              description: "Where the title goes relative to the bar. Defaults to `top` (`v`) or `right` (`h`).";
              values: readonly [..., ..., ...];
           }>;
           text: Attr<string, {
              description: "Colorbar title.";
              dflt: "";
           }>;
        }>;
        x: Attr<number, {
           description: "Horizontal position (`xref` fraction). Defaults to 1.02 (`v`, paper), 1 (`v`, container) or 0.5 (`h`).";
        }>;
        xanchor: Attr<"left" | "center" | "right", {
           description: "Which side of the colorbar sits at `x`. Defaults to `left` (`v`, paper), `right` (`v`, container) or `center` (`h`).";
           values: readonly ["left", "center", "right"];
        }>;
        xpad: Attr<number, {
           description: "Horizontal padding, px.";
           dflt: 10;
           min: 0;
        }>;
        xref: Attr<"container" | "paper", {
           description: "Reference of `x`: the plot area (`paper`) or the whole figure.";
           dflt: "paper";
           values: readonly ["container", "paper"];
        }>;
        y: Attr<number, {
           description: "Vertical position (`yref` fraction). Defaults to 0.5 (`v`), 1.02 (`h`, paper) or 1 (`h`, container).";
        }>;
        yanchor: Attr<"middle" | "top" | "bottom", {
           description: "Which side of the colorbar sits at `y`. Defaults to `middle` (`v`), `bottom` (`h`, paper) or `top` (`h`, container).";
           values: readonly ["top", "middle", "bottom"];
        }>;
        ypad: Attr<number, {
           description: "Vertical padding, px.";
           dflt: 10;
           min: 0;
        }>;
        yref: Attr<"container" | "paper", {
           description: "Reference of `y`: the plot area (`paper`) or the whole figure.";
           dflt: "paper";
           values: readonly ["container", "paper"];
        }>;
     }>;
     colorscale: Attr<ColorScale, {
        description: `Colorscale for numeric `line.color` values (${string}): a name (`'Viridis'`, `'RdBu'`, …), a list of colors, or `[position, color]` stops from 0 to 1.`;
        dflt?: string;
        editType: "style";
     }>;
     hovertemplate: Attr<string, {
        description: "Template of the path hover labels: `%{count}`, `%{probability}`. Overrides `hoverinfo` for paths.";
        editType: "none";
     }>;
     reversescale: Attr<boolean, {
        description: "Reverse the colorscale (the lowest value gets the last color).";
        dflt: false;
        editType: "style";
     }>;
     shape: Attr<"linear" | "hspline", {
        description: "Path shape between dimensions: straight or a horizontal S-curve.";
        dflt: "linear";
        editType: "plot";
        values: readonly ["linear", "hspline"];
     }>;
     showscale: Attr<boolean, {
        description: "Show a colorbar for the line colorscale.";
        dflt: false;
        editType: "colorbars";
     }>;
  }>;
  sortpaths: Attr<"forward" | "backward", {
     description: "Stack paths by their categories from the leftmost dimension (`forward`) or the rightmost (`backward`).";
     dflt: "forward";
     editType: "plot";
     values: readonly ["forward", "backward"];
  }>;
  tickfont: ObjectNode<{
     color: Attr<string, {
        description: "Text color. Default: `layout.font.color`.";
        editType: "style";
     }>;
     family: Attr<string, {
        description: "CSS font-family list. Default: `layout.font.family`.";
        editType: "plot";
        noBlank: true;
        strict: true;
     }>;
     shadow: Attr<string, {
        description: "CSS `text-shadow` (first shadow only), `'none'`, or `'auto'`: a thin halo in the text's contrast color. Tick labels default to `'auto'`, so they read over the lines.";
        editType: "plot";
     }>;
     size: Attr<number, {
        description: "Font size in CSS px.";
        editType: "plot";
        min: 1;
     }>;
     style: Attr<"normal" | "italic", {
        description: "Font style.";
        editType: "plot";
        values: readonly ["normal", "italic"];
     }>;
     weight: Attr<number | "normal" | "bold", {
        description: "Font weight: a CSS numeric weight (1–1000), `normal` or `bold`.";
        editType: "plot";
        extras: readonly ["normal", "bold"];
        max: 1000;
        min: 1;
     }>;
  }>;
}>;

Experimental

The parcats schema.

Released under the MIT License.