Chart Component
Charts are a powerful and flexible way to visualize your data, letting Dynaboard do the heavy lifting.
Create a chart node and specify its data source (opens in a new tab). Your data can come from any other node, most commonly the output of a function node (e.g. {{function1.data}}). From there, the chart node has a handful of options to customize its look and feel.
Charts in Dynaboard are built on top of the incredible Plotly (opens in a new tab) charting library, used by many top data teams.
Supported Charts
- Line charts (
LINE) - Bar charts (
BAR) - Scatter plots (
SCATTER)
Properties
Visible
| Prop | isVisible |
|---|---|
| Type | boolean |
| Default | true |
Whether or not this node is visible.
Enabled
| Prop | isEnabled |
|---|---|
| Type | boolean |
| Default | true |
Whether or not this node is enabled.
Tooltip
| Prop | tooltip |
|---|---|
| Type | string |
| Default | undefined |
The tooltip text to display when hovered or focused over this node.
Top
| Prop | top |
|---|---|
| Type | number |
| Default | 1 |
The position of the node from the top side of the grid (grid-row-start).
Left
| Prop | left |
|---|---|
| Type | number |
| Default | 1 |
The position of the node from the left side of the grid (grid-column-start).
Width
| Prop | width |
|---|---|
| Type | string |
| Default | 650px |
The width of the node. When this node is in a grid layout, this should be done using unitless grid column units (specifying 4 will become grid-column-end: span 4). When this node is in a stack layout, the width can be specified using CSS units (e.g. 100px or 100%), or be left unitless to be treated as flex-grow for the node.
Min Width
| Prop | minWidth |
|---|---|
| Type | string |
| Default | undefined |
The minimum width of the node. When this node is in a grid layout, this property is ignored.
Max Width
| Prop | maxWidth |
|---|---|
| Type | string |
| Default | undefined |
The maximum width of the node. When this node is in a grid layout, this property is ignored.
Height
| Prop | height |
|---|---|
| Type | string |
| Default | 450px |
The height of the node. When this node is in a grid layout, this should be done using unitless grid row units (specifying 4 will become grid-row-end: span 4). When this node is in a stack layout, the height can be specified using CSS units (e.g. 100px or 100%), or be left unitless to be treated as flex-grow for the node.
Min Height
| Prop | minHeight |
|---|---|
| Type | string |
| Default | undefined |
The minimum height of the node. When this node is in a grid layout, this property is ignored.
Max Height
| Prop | maxHeight |
|---|---|
| Type | string |
| Default | undefined |
The minimum height of the node. When this node is in a grid layout, this property is ignored.
Overflow
| Prop | overflow |
|---|---|
| Type | Overflow ('auto' | 'visible' | 'hidden' | 'scroll') |
| Default | auto |
The strategy used to handle overflow in the horizontal and vertical axes for content that is larger than its container.
Overflow X
| Prop | overflowX |
|---|---|
| Type | Overflow ('auto' | 'visible' | 'hidden' | 'scroll') |
| Default | auto |
The strategy used to handle overflow in the horizontal axis for content that is larger than its container.
Overflow Y
| Prop | overflowY |
|---|---|
| Type | Overflow ('auto' | 'visible' | 'hidden' | 'scroll') |
| Default | auto |
The strategy used to handle overflow in the vertical axis for content that is larger than its container.
Custom Styles
| Prop | styles |
|---|---|
| Type | string |
| Default | ::component { } |
Custom CSS styles to be applied to the node. Use element.styles to refer to the current node.
Object Fit
| Prop | objectFit |
|---|---|
| Type | ObjectFit ('none' | 'contain' | 'cover' | 'fill' | 'scale-down') |
| Default | cover |
The strategy used to set how the content of a replaced element should be resized to fit its container.
Chart Title
| Prop | title |
|---|---|
| Type | string |
| Default | User Growth |
The title of the chart to be displayed on top of the chart.
Legend
| Prop | allowLegend |
|---|---|
| Type | boolean |
| Default | false |
Whether or not to allow legend in the chart.
Legend Orientation
| Prop | legendOrientation |
|---|---|
| Type | LegendOrientations ('v' | 'h') |
| Default | v |
The orientation of the legend in the chart.
Legend Position
| Prop | legendPosition |
|---|---|
| Type | LegendPositions ('top' | 'bottom' | 'left' | 'right') |
| Default | top |
The position of the legend in the chart.
Interactive
| Prop | isInteractive |
|---|---|
| Type | boolean |
| Default | true |
Whether or not to be interactive with the chart.
Data Source
| Prop | dataSource |
|---|---|
| Type | unknown |
| Default | [ { x: 0, y1: 2, y2: 1 }, { x: 1, y1: 4, y2: 2 }, { x: 2, y1: 6, y2: 3 }, { x: 3, y1: 10, y2: 5 }, ] |
The data source to use for the chart. Data sources should be an array of objects with a consistent set of keys. For example can represent a cartesian X/Y coordinate by having an array of objects with keys x and y.
Parent Chart Type
| Prop | parentChartType |
|---|---|
| Type | ParentChartTypes ('cartesian' | 'pie' | 'custom') |
| Default | cartesian |
The type of chart to be configured.
Bar Mode
| Prop | barMode |
|---|---|
| Type | BarModes ('group' | 'stack') |
| Default | group |
The mode of the bar chart.
Dimensions
| Prop | dimensions |
|---|---|
| Type | array |
| Default | [ { 'key': 'Untitled Dimension 1', 'id': '00000000-0000-0000-0000-000000000000', 'name': 'Untitled Dimension 1', 'side': 'left', 'yKey': 'y1', 'type': 'line', 'mode': 'lines+markers', 'lineShape': 'spline', 'markerColor': 'purple.500' } ] |
The dimension configuration for the chart.
Dimension
| Prop | dimensions[] |
|---|---|
| Type | object |
| Default | undefined |
A set of data to represent on the chart
Key
| Prop | dimensions[].key |
|---|---|
| Type | string |
| Default | undefined |
The key in the source data to represent on the X-axis
ID
| Prop | dimensions[].id |
|---|---|
| Type | string |
| Default | undefined |
The ID of this dimension
Name
| Prop | dimensions[].name |
|---|---|
| Type | string |
| Default | undefined |
The name of the dimension
Side
| Prop | dimensions[].side |
|---|---|
| Type | YAxisSides ('left' | 'right') |
| Default | undefined |
Which side of the graph should the Y-Axis for this dimension appear
YKey
| Prop | dimensions[].yKey |
|---|---|
| Type | string |
| Default | undefined |
The key in the source data to represent on the Y-axis
Type
| Prop | dimensions[].type |
|---|---|
| Type | ChartTypes ('bar' | 'line' | 'scatter' | 'none') |
| Default | undefined |
Which type of chart to use for this dimension
Mode
| Prop | dimensions[].mode |
|---|---|
| Type | ChartModes ('lines' | 'markers' | 'lines+markers') |
| Default | undefined |
How should the dimension be represented
LineShape
| Prop | dimensions[].lineShape |
|---|---|
| Type | ChartLineShapes ('linear' | 'spline') |
| Default | undefined |
The style of the line representing this dimension
MarkerColor
| Prop | dimensions[].markerColor |
|---|---|
| Type | string |
| Default | undefined |
The color of this dimension on the chart
X Key
| Prop | xKey |
|---|---|
| Type | string |
| Default | x |
The key to use from the data source to provide the X values of the chart.
Horizontal axis title
| Prop | horizontalAxisTitle |
|---|---|
| Type | string |
| Default | Day |
The title to add for the X axis of the chart.
Left vertical axis title
| Prop | leftVerticalAxisTitle |
|---|---|
| Type | string |
| Default | Users |
The title to add for the left Y axis of the chart.
Right vertical axis title
| Prop | rightVerticalAxisTitle |
|---|---|
| Type | string |
| Default | undefined |
The title to add for the right Y axis of the chart.
Horizontal axis type
| Prop | horizontalAxisType |
|---|---|
| Type | ChartAxisTypes ('-' | 'linear' | 'log' | 'date' | 'category' | 'multicategory') |
| Default | - |
The scale type to use for the X axis.
Left vertical axis type
| Prop | leftVerticalAxisType |
|---|---|
| Type | ChartAxisTypes ('-' | 'linear' | 'log' | 'date' | 'category' | 'multicategory') |
| Default | - |
The scale type to use for the left Y axis.
Right vertical axis type
| Prop | rightVerticalAxisType |
|---|---|
| Type | ChartAxisTypes ('-' | 'linear' | 'log' | 'date' | 'category' | 'multicategory') |
| Default | - |
The scale type to use for the right Y axis.
Background Color
| Prop | backgroundColor |
|---|---|
| Type | string |
| Default | undefined |
The background color of the component when instantiated.
Event Handlers
On Hover
| Handler | chartNode.onHover |
|---|
Called when the user hovers on the node. Use this event to trigger downstream actions when this node is hovered.
On Leave
| Handler | chartNode.onLeave |
|---|
Called when the user is not hovering over the node. Use this event to trigger downstream actions when this node is no longer hovered.