- Prop
cells- Type
readonly RasterHeatmapCell[]- Default
- —
- Requirement
- required
- Description
- —
ContourChart
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- surface
- —
- marks
- —
- size
- —
- value
- —
ts
import { ContourChart } from "@grassroot/charts-react"; const rasterCells = [ { x: 0, y: 0, value: 85, }, { x: 1, y: 0, value: 76, }, { x: 2, y: 0, value: 92, }, { x: 3, y: 0, value: 127, }, { x: 4, y: 0, value: 144, }, { x: 5, y: 0, value: 160, }, { x: 6, y: 0, value: 139, }, { x: 7, y: 0, value: 101, }, { x: 0, y: 1, value: 102, }, { x: 1, y: 1, value: 91, }, { x: 2, y: 1, value: 111, }, { x: 3, y: 1, value: 153, }, { x: 4, y: 1, value: 173, }, { x: 5, y: 1, value: 193, }, { x: 6, y: 1, value: 168, }, { x: 7, y: 1, value: 122, }, { x: 0, y: 2, value: 121, }, { x: 1, y: 2, value: 108, }, { x: 2, y: 2, value: 131, }, { x: 3, y: 2, value: 209, }, { x: 4, y: 2, value: 233, }, { x: 5, y: 2, value: 256, }, { x: 6, y: 2, value: 198, }, { x: 7, y: 2, value: 144, }, { x: 0, y: 3, value: 141, }, { x: 1, y: 3, value: 125, }, { x: 2, y: 3, value: 153, }, { x: 3, y: 3, value: 248, }, { x: 4, y: 3, value: 275, }, { x: 5, y: 3, value: 303, }, { x: 6, y: 3, value: 267, }, { x: 7, y: 3, value: 169, }, { x: 0, y: 4, value: 111, }, { x: 1, y: 4, value: 99, }, { x: 2, y: 4, value: 120, }, { x: 3, y: 4, value: 166, }, { x: 4, y: 4, value: 188, }, { x: 5, y: 4, value: 209, }, { x: 6, y: 4, value: 182, }, { x: 7, y: 4, value: 132, }, { x: 0, y: 5, value: 95, }, { x: 1, y: 5, value: 84, }, { x: 2, y: 5, value: 103, }, { x: 3, y: 5, value: 143, }, { x: 4, y: 5, value: 161, }, { x: 5, y: 5, value: 180, }, { x: 6, y: 5, value: 156, }, { x: 7, y: 5, value: 114, }, { x: 0, y: 6, value: 127, }, { x: 1, y: 6, value: 113, }, { x: 2, y: 6, value: 137, }, { x: 3, y: 6, value: 190, }, { x: 4, y: 6, value: 215, }, { x: 5, y: 6, value: 239, }, { x: 6, y: 6, value: 208, }, { x: 7, y: 6, value: 151, }, { x: 0, y: 7, value: 107, }, { x: 1, y: 7, value: 95, }, { x: 2, y: 7, value: 115, }, { x: 3, y: 7, value: 160, }, { x: 4, y: 7, value: 181, }, { x: 5, y: 7, value: 201, }, { x: 6, y: 7, value: 175, }, { x: 7, y: 7, value: 127, },]; export default function ContourChartDemo() { return ( <div> <ContourChart ariaLabel="P95 API latency by eight services and eight three-hour intervals, milliseconds, 14 August 2026" cells={rasterCells} /> </div> );}- surface
- —
- marks
- —
- size
- —
- value
- —
ts
<script setup lang="ts">import { ContourChart } from "@grassroot/charts-vue"; const rasterCells = [ { x: 0, y: 0, value: 85, }, { x: 1, y: 0, value: 76, }, { x: 2, y: 0, value: 92, }, { x: 3, y: 0, value: 127, }, { x: 4, y: 0, value: 144, }, { x: 5, y: 0, value: 160, }, { x: 6, y: 0, value: 139, }, { x: 7, y: 0, value: 101, }, { x: 0, y: 1, value: 102, }, { x: 1, y: 1, value: 91, }, { x: 2, y: 1, value: 111, }, { x: 3, y: 1, value: 153, }, { x: 4, y: 1, value: 173, }, { x: 5, y: 1, value: 193, }, { x: 6, y: 1, value: 168, }, { x: 7, y: 1, value: 122, }, { x: 0, y: 2, value: 121, }, { x: 1, y: 2, value: 108, }, { x: 2, y: 2, value: 131, }, { x: 3, y: 2, value: 209, }, { x: 4, y: 2, value: 233, }, { x: 5, y: 2, value: 256, }, { x: 6, y: 2, value: 198, }, { x: 7, y: 2, value: 144, }, { x: 0, y: 3, value: 141, }, { x: 1, y: 3, value: 125, }, { x: 2, y: 3, value: 153, }, { x: 3, y: 3, value: 248, }, { x: 4, y: 3, value: 275, }, { x: 5, y: 3, value: 303, }, { x: 6, y: 3, value: 267, }, { x: 7, y: 3, value: 169, }, { x: 0, y: 4, value: 111, }, { x: 1, y: 4, value: 99, }, { x: 2, y: 4, value: 120, }, { x: 3, y: 4, value: 166, }, { x: 4, y: 4, value: 188, }, { x: 5, y: 4, value: 209, }, { x: 6, y: 4, value: 182, }, { x: 7, y: 4, value: 132, }, { x: 0, y: 5, value: 95, }, { x: 1, y: 5, value: 84, }, { x: 2, y: 5, value: 103, }, { x: 3, y: 5, value: 143, }, { x: 4, y: 5, value: 161, }, { x: 5, y: 5, value: 180, }, { x: 6, y: 5, value: 156, }, { x: 7, y: 5, value: 114, }, { x: 0, y: 6, value: 127, }, { x: 1, y: 6, value: 113, }, { x: 2, y: 6, value: 137, }, { x: 3, y: 6, value: 190, }, { x: 4, y: 6, value: 215, }, { x: 5, y: 6, value: 239, }, { x: 6, y: 6, value: 208, }, { x: 7, y: 6, value: 151, }, { x: 0, y: 7, value: 107, }, { x: 1, y: 7, value: 95, }, { x: 2, y: 7, value: 115, }, { x: 3, y: 7, value: 160, }, { x: 4, y: 7, value: 181, }, { x: 5, y: 7, value: 201, }, { x: 6, y: 7, value: 175, }, { x: 7, y: 7, value: 127, },];</script> <template> <ContourChart aria-label="P95 API latency by eight services and eight three-hour intervals, milliseconds, 14 August 2026" :cells="rasterCells" /></template>- surface
- —
- marks
- —
- size
- —
- value
- —
ts
import { ChangeDetectionStrategy, Component } from "@angular/core";import { GrassrootContourChart } from "@grassroot/charts-angular"; @Component({ selector: "app-contour-chart-chart-demo", standalone: true, imports: [GrassrootContourChart], changeDetection: ChangeDetectionStrategy.OnPush, template: `<grassroot-contour-chart [ariaLabel]="'P95 API latency by eight services and eight three-hour intervals, milliseconds, 14 August 2026'" [cells]="rasterCells" />`,})export class ContourChartDemoComponent { readonly rasterCells = [ { x: 0, y: 0, value: 85, }, { x: 1, y: 0, value: 76, }, { x: 2, y: 0, value: 92, }, { x: 3, y: 0, value: 127, }, { x: 4, y: 0, value: 144, }, { x: 5, y: 0, value: 160, }, { x: 6, y: 0, value: 139, }, { x: 7, y: 0, value: 101, }, { x: 0, y: 1, value: 102, }, { x: 1, y: 1, value: 91, }, { x: 2, y: 1, value: 111, }, { x: 3, y: 1, value: 153, }, { x: 4, y: 1, value: 173, }, { x: 5, y: 1, value: 193, }, { x: 6, y: 1, value: 168, }, { x: 7, y: 1, value: 122, }, { x: 0, y: 2, value: 121, }, { x: 1, y: 2, value: 108, }, { x: 2, y: 2, value: 131, }, { x: 3, y: 2, value: 209, }, { x: 4, y: 2, value: 233, }, { x: 5, y: 2, value: 256, }, { x: 6, y: 2, value: 198, }, { x: 7, y: 2, value: 144, }, { x: 0, y: 3, value: 141, }, { x: 1, y: 3, value: 125, }, { x: 2, y: 3, value: 153, }, { x: 3, y: 3, value: 248, }, { x: 4, y: 3, value: 275, }, { x: 5, y: 3, value: 303, }, { x: 6, y: 3, value: 267, }, { x: 7, y: 3, value: 169, }, { x: 0, y: 4, value: 111, }, { x: 1, y: 4, value: 99, }, { x: 2, y: 4, value: 120, }, { x: 3, y: 4, value: 166, }, { x: 4, y: 4, value: 188, }, { x: 5, y: 4, value: 209, }, { x: 6, y: 4, value: 182, }, { x: 7, y: 4, value: 132, }, { x: 0, y: 5, value: 95, }, { x: 1, y: 5, value: 84, }, { x: 2, y: 5, value: 103, }, { x: 3, y: 5, value: 143, }, { x: 4, y: 5, value: 161, }, { x: 5, y: 5, value: 180, }, { x: 6, y: 5, value: 156, }, { x: 7, y: 5, value: 114, }, { x: 0, y: 6, value: 127, }, { x: 1, y: 6, value: 113, }, { x: 2, y: 6, value: 137, }, { x: 3, y: 6, value: 190, }, { x: 4, y: 6, value: 215, }, { x: 5, y: 6, value: 239, }, { x: 6, y: 6, value: 208, }, { x: 7, y: 6, value: 151, }, { x: 0, y: 7, value: 107, }, { x: 1, y: 7, value: 95, }, { x: 2, y: 7, value: 115, }, { x: 3, y: 7, value: 160, }, { x: 4, y: 7, value: 181, }, { x: 5, y: 7, value: 201, }, { x: 6, y: 7, value: 175, }, { x: 7, y: 7, value: 127, }, ];} export default ContourChartDemoComponent;- surface
- —
- marks
- —
- size
- —
- value
- —
ts
<script lang="ts"> import { ContourChart } from "@grassroot/charts-svelte"; const rasterCells = [ { x: 0, y: 0, value: 85, }, { x: 1, y: 0, value: 76, }, { x: 2, y: 0, value: 92, }, { x: 3, y: 0, value: 127, }, { x: 4, y: 0, value: 144, }, { x: 5, y: 0, value: 160, }, { x: 6, y: 0, value: 139, }, { x: 7, y: 0, value: 101, }, { x: 0, y: 1, value: 102, }, { x: 1, y: 1, value: 91, }, { x: 2, y: 1, value: 111, }, { x: 3, y: 1, value: 153, }, { x: 4, y: 1, value: 173, }, { x: 5, y: 1, value: 193, }, { x: 6, y: 1, value: 168, }, { x: 7, y: 1, value: 122, }, { x: 0, y: 2, value: 121, }, { x: 1, y: 2, value: 108, }, { x: 2, y: 2, value: 131, }, { x: 3, y: 2, value: 209, }, { x: 4, y: 2, value: 233, }, { x: 5, y: 2, value: 256, }, { x: 6, y: 2, value: 198, }, { x: 7, y: 2, value: 144, }, { x: 0, y: 3, value: 141, }, { x: 1, y: 3, value: 125, }, { x: 2, y: 3, value: 153, }, { x: 3, y: 3, value: 248, }, { x: 4, y: 3, value: 275, }, { x: 5, y: 3, value: 303, }, { x: 6, y: 3, value: 267, }, { x: 7, y: 3, value: 169, }, { x: 0, y: 4, value: 111, }, { x: 1, y: 4, value: 99, }, { x: 2, y: 4, value: 120, }, { x: 3, y: 4, value: 166, }, { x: 4, y: 4, value: 188, }, { x: 5, y: 4, value: 209, }, { x: 6, y: 4, value: 182, }, { x: 7, y: 4, value: 132, }, { x: 0, y: 5, value: 95, }, { x: 1, y: 5, value: 84, }, { x: 2, y: 5, value: 103, }, { x: 3, y: 5, value: 143, }, { x: 4, y: 5, value: 161, }, { x: 5, y: 5, value: 180, }, { x: 6, y: 5, value: 156, }, { x: 7, y: 5, value: 114, }, { x: 0, y: 6, value: 127, }, { x: 1, y: 6, value: 113, }, { x: 2, y: 6, value: 137, }, { x: 3, y: 6, value: 190, }, { x: 4, y: 6, value: 215, }, { x: 5, y: 6, value: 239, }, { x: 6, y: 6, value: 208, }, { x: 7, y: 6, value: 151, }, { x: 0, y: 7, value: 107, }, { x: 1, y: 7, value: 95, }, { x: 2, y: 7, value: 115, }, { x: 3, y: 7, value: 160, }, { x: 4, y: 7, value: 181, }, { x: 5, y: 7, value: 201, }, { x: 6, y: 7, value: 175, }, { x: 7, y: 7, value: 127, }, ];</script> <ContourChart ariaLabel="P95 API latency by eight services and eight three-hour intervals, milliseconds, 14 August 2026" cells={rasterCells} />- surface
- —
- marks
- —
- size
- —
- value
- —
ts
/** @jsxImportSource solid-js */import { ContourChart } from "@grassroot/charts-solid"; const rasterCells = [ { x: 0, y: 0, value: 85, }, { x: 1, y: 0, value: 76, }, { x: 2, y: 0, value: 92, }, { x: 3, y: 0, value: 127, }, { x: 4, y: 0, value: 144, }, { x: 5, y: 0, value: 160, }, { x: 6, y: 0, value: 139, }, { x: 7, y: 0, value: 101, }, { x: 0, y: 1, value: 102, }, { x: 1, y: 1, value: 91, }, { x: 2, y: 1, value: 111, }, { x: 3, y: 1, value: 153, }, { x: 4, y: 1, value: 173, }, { x: 5, y: 1, value: 193, }, { x: 6, y: 1, value: 168, }, { x: 7, y: 1, value: 122, }, { x: 0, y: 2, value: 121, }, { x: 1, y: 2, value: 108, }, { x: 2, y: 2, value: 131, }, { x: 3, y: 2, value: 209, }, { x: 4, y: 2, value: 233, }, { x: 5, y: 2, value: 256, }, { x: 6, y: 2, value: 198, }, { x: 7, y: 2, value: 144, }, { x: 0, y: 3, value: 141, }, { x: 1, y: 3, value: 125, }, { x: 2, y: 3, value: 153, }, { x: 3, y: 3, value: 248, }, { x: 4, y: 3, value: 275, }, { x: 5, y: 3, value: 303, }, { x: 6, y: 3, value: 267, }, { x: 7, y: 3, value: 169, }, { x: 0, y: 4, value: 111, }, { x: 1, y: 4, value: 99, }, { x: 2, y: 4, value: 120, }, { x: 3, y: 4, value: 166, }, { x: 4, y: 4, value: 188, }, { x: 5, y: 4, value: 209, }, { x: 6, y: 4, value: 182, }, { x: 7, y: 4, value: 132, }, { x: 0, y: 5, value: 95, }, { x: 1, y: 5, value: 84, }, { x: 2, y: 5, value: 103, }, { x: 3, y: 5, value: 143, }, { x: 4, y: 5, value: 161, }, { x: 5, y: 5, value: 180, }, { x: 6, y: 5, value: 156, }, { x: 7, y: 5, value: 114, }, { x: 0, y: 6, value: 127, }, { x: 1, y: 6, value: 113, }, { x: 2, y: 6, value: 137, }, { x: 3, y: 6, value: 190, }, { x: 4, y: 6, value: 215, }, { x: 5, y: 6, value: 239, }, { x: 6, y: 6, value: 208, }, { x: 7, y: 6, value: 151, }, { x: 0, y: 7, value: 107, }, { x: 1, y: 7, value: 95, }, { x: 2, y: 7, value: 115, }, { x: 3, y: 7, value: 160, }, { x: 4, y: 7, value: 181, }, { x: 5, y: 7, value: 201, }, { x: 6, y: 7, value: 175, }, { x: 7, y: 7, value: 127, },]; export default function ContourChartDemo() { return ( <ContourChart ariaLabel="P95 API latency by eight services and eight three-hour intervals, milliseconds, 14 August 2026" cells={rasterCells} /> );}Installation
API Reference
Import
import { ContourChart } from "@grassroot/charts-react";
Props
Prop
Type
Default
Requirement
Description
cellsreadonly RasterHeatmapCell[]—
required
—
thresholdsreadonly number[] | undefined—
optional
—
legendboolean | import("@grassroot/chart-spec").LegendConfig | undefined—
optional
—
tooltipboolean | import("./base").ExpandedChartTooltipConfig<unknown> | undefined—
optional
—
animationboolean | import("./base").ExpandedChartAnimationConfig | undefined—
optional
—
onHiddenSeriesChange((ids: readonly string[]) => void) | undefined—
optional
—
onActiveDatumChange((id: string | null) => void) | undefined—
optional
—
rendererChartRenderer | undefined—
optional
—
classNamestring | undefined—
optional
—
themeimport("@grassroot/theme").PartialChartTheme | undefined—
optional
—
titlestring | undefined—
optional
—
descriptionstring | undefined—
optional
—
ariaLabelstring | undefined—
optional
—
- Prop
thresholds- Type
readonly number[] | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
legend- Type
boolean | import("@grassroot/chart-spec").LegendConfig | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
tooltip- Type
boolean | import("./base").ExpandedChartTooltipConfig<unknown> | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
animation- Type
boolean | import("./base").ExpandedChartAnimationConfig | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
onHiddenSeriesChange- Type
((ids: readonly string[]) => void) | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
onActiveDatumChange- Type
((id: string | null) => void) | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
renderer- Type
ChartRenderer | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
className- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
theme- Type
import("@grassroot/theme").PartialChartTheme | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
title- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
description- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
ariaLabel- Type
string | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
keyboardNavigation- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
width- Type
number | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
height- Type
number | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
gpuBackend- Type
ChartGpuBackend | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
rendererStrategy- Type
Partial<import("@grassroot/core").ChartRendererStrategy> | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
renderPlanMode- Type
"svg" | "host" | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
showGrid- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
interactive- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Description
- Gates every pointer/keyboard interaction the shell owns (hit-test on pointer move, focus-to-first, arrow navigation, Escape) and, with `keyboardNavigation`, whether the plot surface is focusable at all.
- Prop
hiddenSeries- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
defaultHiddenSeries- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
activeDatum- Type
string | null | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
defaultActiveDatum- Type
string | null | undefined- Default
- —
- Requirement
- optional
- Description
- Uncontrolled initial value for the `activeDatum`/`onActiveDatumChange` pair.
- Prop
speed- Type
number | undefined- Default
- —
- Requirement
- optional
- Description
- Playback-speed multiplier for entrance/ambient motion.
- Prop
morphDurationMs- Type
number | undefined- Default
- —
- Requirement
- optional
- Description
- How long a dataset change tweens, in milliseconds.
- Prop
replayToken- Type
string | number | undefined- Default
- —
- Requirement
- optional
- Description
- Changing this value replays the entrance animation.
Events
| Event | Payload |
|---|---|
onHiddenSeriesChange | ((ids: readonly string[]) => void) | undefined |
onActiveDatumChange | ((id: string | null) => void) | undefined |
Content regions
childrendataSummary
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { ContourChart } from "@grassroot/charts-vue";
Props
Prop
Type
Default
Requirement
classNamestring | undefined—
optional
gpuBackend"auto" | "webgpu" | "webgl2" | undefined—
optional
widthnumber | undefined—
optional
heightnumber | undefined—
optional
rendererChartRenderer | undefined—
optional
rendererStrategyPartial<ChartRendererStrategy> | undefined—
optional
renderPlanMode"svg" | "host" | undefined"host"optional
showGridboolean | undefined—
optional
legendboolean | LegendConfig | undefinedfalseoptional
tooltipboolean | TooltipBehaviorConfig | undefinedtrueoptional
animationChartAnimationInput | undefined—
optional
interactiveboolean | undefinedtrueoptional
- Prop
className- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
gpuBackend- Type
"auto" | "webgpu" | "webgl2" | undefined- Default
- —
- Requirement
- optional
- Prop
width- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
height- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
renderer- Type
ChartRenderer | undefined- Default
- —
- Requirement
- optional
- Prop
rendererStrategy- Type
Partial<ChartRendererStrategy> | undefined- Default
- —
- Requirement
- optional
- Prop
renderPlanMode- Type
"svg" | "host" | undefined- Default
"host"- Requirement
- optional
- Prop
showGrid- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Prop
legend- Type
boolean | LegendConfig | undefined- Default
false- Requirement
- optional
- Prop
tooltip- Type
boolean | TooltipBehaviorConfig | undefined- Default
true- Requirement
- optional
- Prop
animation- Type
ChartAnimationInput | undefined- Default
- —
- Requirement
- optional
- Prop
interactive- Type
boolean | undefined- Default
true- Requirement
- optional
- Prop
keyboardNavigation- Type
boolean | undefined- Default
true- Requirement
- optional
- Prop
hiddenSeries- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Prop
defaultHiddenSeries- Type
readonly string[] | undefined- Default
() => []- Requirement
- optional
- Prop
activeDatum- Type
string | null | undefined- Default
- —
- Requirement
- optional
- Prop
defaultActiveDatum- Type
string | null | undefined- Default
- —
- Requirement
- optional
- Prop
speed- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
morphDurationMs- Type
number | undefined- Default
- —
- Requirement
- optional
- Prop
replayToken- Type
string | number | undefined- Default
- —
- Requirement
- optional
- Prop
theme- Type
PartialChartTheme | undefined- Default
- —
- Requirement
- optional
- Prop
title- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
description- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
ariaLabel- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
cells- Type
readonly RasterHeatmapCell[]- Default
- —
- Requirement
- required
- Prop
thresholds- Type
readonly number[] | undefined- Default
() => []- Requirement
- optional
Events
| Event | Payload |
|---|---|
hiddenSeriesChange | [ids: readonly string[]] |
activeDatumChange | [id: string | null] |
Content regions
dataSummarydefault
Import
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { GrassrootContourChart } from "@grassroot/charts-angular";
Props
Prop
Type
Default
Requirement
rendererChartRenderer—
optional
gpuBackendChartGpuBackend—
optional
rendererStrategyPartial<ChartRendererStrategy>—
optional
renderPlanMode"svg" | "host""host"optional
ariaLabelstring—
optional
titlestring—
optional
descriptionstring—
optional
themePartialChartTheme—
optional
animationChartAnimationInput—
optional
interactivebooleantrueoptional
tooltipboolean | TooltipBehaviorConfigtrueoptional
legendboolean | LegendConfig—
optional
- Prop
renderer- Type
ChartRenderer- Default
- —
- Requirement
- optional
- Prop
gpuBackend- Type
ChartGpuBackend- Default
- —
- Requirement
- optional
- Prop
rendererStrategy- Type
Partial<ChartRendererStrategy>- Default
- —
- Requirement
- optional
- Prop
renderPlanMode- Type
"svg" | "host"- Default
"host"- Requirement
- optional
- Prop
ariaLabel- Type
string- Default
- —
- Requirement
- optional
- Prop
title- Type
string- Default
- —
- Requirement
- optional
- Prop
description- Type
string- Default
- —
- Requirement
- optional
- Prop
theme- Type
PartialChartTheme- Default
- —
- Requirement
- optional
- Prop
animation- Type
ChartAnimationInput- Default
- —
- Requirement
- optional
- Prop
interactive- Type
boolean- Default
true- Requirement
- optional
- Prop
keyboardNavigation- Type
boolean- Default
true- Requirement
- optional
- Prop
tooltip- Type
boolean | TooltipBehaviorConfig- Default
true- Requirement
- optional
- Prop
legend- Type
boolean | LegendConfig- Default
- —
- Requirement
- optional
- Prop
hiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
defaultHiddenSeries- Type
readonly string[]- Default
[]- Requirement
- optional
- Prop
activeDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
defaultActiveDatum- Type
string | null- Default
null- Requirement
- optional
- Prop
speed- Type
number- Default
- —
- Requirement
- optional
- Prop
morphDurationMs- Type
number- Default
- —
- Requirement
- optional
- Prop
replayToken- Type
string | number- Default
- —
- Requirement
- optional
- Prop
cells- Type
readonly RasterHeatmapCell[]- Default
- —
- Requirement
- required
- Prop
thresholds- Type
readonly number[]- Default
[]- Requirement
- optional
- Prop
width- Type
number- Default
- —
- Requirement
- optional
- Prop
height- Type
number- Default
- —
- Requirement
- optional
- Prop
showGrid- Type
boolean- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
activeDatumChange | string | null |
hiddenSeriesChange | readonly string[] |
Content regions
dataSummarydefault
Import
import { ContourChart } from "@grassroot/charts-svelte";
Props
Prop
Type
Default
Requirement
cellsreadonly RasterHeatmapCell[]—
required
thresholdsreadonly number[]—
optional
onHiddenSeriesChange(ids: readonly string[]) => void—
optional
onActiveDatumChange(id: string | null) => void—
optional
classstring—
optional
stylestring—
optional
widthnumber—
optional
heightnumber—
optional
rendererChartRenderer—
optional
gpuBackendChartGpuBackend—
optional
rendererStrategyPartial<ChartRendererStrategy>—
optional
renderPlanMode"svg" | "host""host"optional
showGridboolean—
optional
legendboolean | LegendConfigfalseoptional
- Prop
cells- Type
readonly RasterHeatmapCell[]- Default
- —
- Requirement
- required
- Prop
thresholds- Type
readonly number[]- Default
- —
- Requirement
- optional
- Prop
onHiddenSeriesChange- Type
(ids: readonly string[]) => void- Default
- —
- Requirement
- optional
- Prop
onActiveDatumChange- Type
(id: string | null) => void- Default
- —
- Requirement
- optional
- Prop
class- Type
string- Default
- —
- Requirement
- optional
- Prop
style- Type
string- Default
- —
- Requirement
- optional
- Prop
width- Type
number- Default
- —
- Requirement
- optional
- Prop
height- Type
number- Default
- —
- Requirement
- optional
- Prop
renderer- Type
ChartRenderer- Default
- —
- Requirement
- optional
- Prop
gpuBackend- Type
ChartGpuBackend- Default
- —
- Requirement
- optional
- Prop
rendererStrategy- Type
Partial<ChartRendererStrategy>- Default
- —
- Requirement
- optional
- Prop
renderPlanMode- Type
"svg" | "host"- Default
"host"- Requirement
- optional
- Prop
showGrid- Type
boolean- Default
- —
- Requirement
- optional
- Prop
legend- Type
boolean | LegendConfig- Default
false- Requirement
- optional
- Prop
tooltip- Type
boolean | TooltipBehaviorConfig- Default
true- Requirement
- optional
- Prop
animation- Type
ChartAnimationInput- Default
- —
- Requirement
- optional
- Prop
interactive- Type
boolean- Default
true- Requirement
- optional
- Prop
keyboardNavigation- Type
boolean- Default
true- Requirement
- optional
- Prop
hiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
defaultHiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
activeDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
defaultActiveDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
speed- Type
number- Default
- —
- Requirement
- optional
- Prop
morphDurationMs- Type
number- Default
- —
- Requirement
- optional
- Prop
replayToken- Type
string | number- Default
- —
- Requirement
- optional
- Prop
theme- Type
PartialChartTheme- Default
- —
- Requirement
- optional
- Prop
title- Type
string- Default
- —
- Requirement
- optional
- Prop
description- Type
string- Default
- —
- Requirement
- optional
- Prop
ariaLabel- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onHiddenSeriesChange | (ids: readonly string[]) => void |
onActiveDatumChange | (id: string | null) => void |
Content regions
childrendataSummary
Import
import { ContourChart } from "@grassroot/charts-solid";
Props
Prop
Type
Default
Requirement
cellsreadonly RasterHeatmapCell[]—
required
thresholdsreadonly number[]—
optional
onActiveDatumChange(id: string | null) => void—
optional
onHiddenSeriesChange(ids: readonly string[]) => void—
optional
classstring—
optional
styleJSX.CSSProperties—
optional
widthnumber—
optional
heightnumber—
optional
rendererChartRenderer—
optional
gpuBackendChartGpuBackend"auto"optional
rendererStrategyPartial<ChartRendererStrategy>—
optional
renderPlanMode"svg" | "host""host"optional
showGridboolean—
optional
legendboolean | LegendConfig—
optional
- Prop
cells- Type
readonly RasterHeatmapCell[]- Default
- —
- Requirement
- required
- Prop
thresholds- Type
readonly number[]- Default
- —
- Requirement
- optional
- Prop
onActiveDatumChange- Type
(id: string | null) => void- Default
- —
- Requirement
- optional
- Prop
onHiddenSeriesChange- Type
(ids: readonly string[]) => void- Default
- —
- Requirement
- optional
- Prop
class- Type
string- Default
- —
- Requirement
- optional
- Prop
style- Type
JSX.CSSProperties- Default
- —
- Requirement
- optional
- Prop
width- Type
number- Default
- —
- Requirement
- optional
- Prop
height- Type
number- Default
- —
- Requirement
- optional
- Prop
renderer- Type
ChartRenderer- Default
- —
- Requirement
- optional
- Prop
gpuBackend- Type
ChartGpuBackend- Default
"auto"- Requirement
- optional
- Prop
rendererStrategy- Type
Partial<ChartRendererStrategy>- Default
- —
- Requirement
- optional
- Prop
renderPlanMode- Type
"svg" | "host"- Default
"host"- Requirement
- optional
- Prop
showGrid- Type
boolean- Default
- —
- Requirement
- optional
- Prop
legend- Type
boolean | LegendConfig- Default
- —
- Requirement
- optional
- Prop
tooltip- Type
boolean | TooltipBehaviorConfig- Default
- —
- Requirement
- optional
- Prop
animation- Type
ChartAnimationInput- Default
- —
- Requirement
- optional
- Prop
interactive- Type
boolean- Default
- —
- Requirement
- optional
- Prop
keyboardNavigation- Type
boolean- Default
- —
- Requirement
- optional
- Prop
hiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
defaultHiddenSeries- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
activeDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
defaultActiveDatum- Type
string | null- Default
- —
- Requirement
- optional
- Prop
speed- Type
number- Default
- —
- Requirement
- optional
- Prop
morphDurationMs- Type
number- Default
- —
- Requirement
- optional
- Prop
replayToken- Type
string | number- Default
- —
- Requirement
- optional
- Prop
theme- Type
PartialChartTheme- Default
- —
- Requirement
- optional
- Prop
title- Type
string- Default
- —
- Requirement
- optional
- Prop
description- Type
string- Default
- —
- Requirement
- optional
- Prop
ariaLabel- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onActiveDatumChange | (id: string | null) => void |
onHiddenSeriesChange | (ids: readonly string[]) => void |
Content regions
childrendataSummary