Skip to Content
πŸŽ‰ Coral x Panda has been released πŸŽ‰ Read the Migration Guide
DocumentationChartsTypesCoralGroupLineChart

CoralGroupLineChart

Basic Usage

import { CoralGroupLineChart } from '@krakentech/coral-charts'; <CoralGroupLineChart data={ [ { x: '00', y: 1000 }, { x: '01', y: 800 }, ... ], [ { x: '00', y: 2300 }, { x: '01', y: 1100 }, ... ], [ { x: '00', y: 20 }, { x: '01', y: 20 }, ... ], [ { x: '00', y: -2300 }, { x: '01', y: -1100 }, ... ] } modifiers={{ chart: { domainPadding: { x: 40 } }, line: { showCursorLine: true, }, linegroup: { colorScale: [ token('primitives.color.dark.voltage.aquamarine'), token('colors.background.primary.500'), token('colors.background.secondary.500'), token('colors.background.tertiary.500'), ], } }} />
05001,0001,5002,00008

Custom Flyout

There is a full article on creation of custom flyouts available on the Coral CookbookΒ .

Modifiers

placementModifier sets labels in the tooltip to be positioned with a const to handle their top offset. The more group items you have on your chart, the lower this number should be (i.e. 6 items would be around 2.3, rather than 2.8)

Default modifiers

CoralGroupLineChart has the following additional modifiers set by default.

modifiers: { group: { offset: 20, placementModifier: 2.8 }, },

Full API

NameTypeDefault
modifiersChartModifiers & { linegroup?: LineGroupDefinition; line?: LineDefinition; }
chartDescriptionReactNode

The description of the chart, which will be read by screen readers. This should be a short description of the chart’s purpose or content, as well as any relevant data points.

events.onClick(props: any) => void

Callback fired when the user clicks on a chart element.

  • props The properties of the clicked chart element.
events.onMouseOver(props: any) => void

Callback fired when the user hovers over a chart element.

  • props The properties of the hovered chart element.
events.onMouseOut(props: any) => void

Callback fired when the user stops hovering over a chart element.

  • props The properties of the chart element that was hovered over.
dataChartData[][]

The standard chart data format

xsGroupLineChartModifiers
smGroupLineChartModifiers
mdGroupLineChartModifiers
lgGroupLineChartModifiers
xlGroupLineChartModifiers

modifiers API

NameTypeDefault
heightnumber
legend.showLegendboolean

Should the legend show?

false
legend.renderedWidthnumber

When horizontalPosition is set to center or right, renderedWidth must be defined to ensure that the legend is correctly positioned.

legend.horizontalPosition"center" | "right" | "left"

The position of the legend on the horizontal axis.

legend.verticalPosition"top" | "bottom"

Set whether the legend be positioned above or below the chart.

legend.verticalPositionAdjustmentnumber

When assigning verticalPosition to bottom this prop allows granular control of the offset of the legend to the bottom of the chart.

legend.legendDatareadonly any[] | undefined

The series data to be displayed in the legend.

legend.legendColorScaleColorScalePropType

The color scale to be used for the legend. This will be mapped to the series data.

legend.itemsPerRownumber

Define how many items to show per row on the legend, the default will run all series on one line without wrapping them.

legend.dataComponentReact.ReactElement

Provide a custom series data icon, rather than the default coloured square.

yAxis.orientation"right" | "left"

Set the position of the y-axis to the left or right of the chart.

left
yAxis.axisLabelstring

Provides a label for the y-axis.

yAxis.axisLabelPaddingnumber

Provide offset padding to the axis label from the y-axis line.

yAxis.tickFormatany[] | ((tick: any, index: number, ticks: any[]) => string | number) | undefined

Specify how tick values should be formatted. This is likely to be function that takes a value and returns a formatted string, i.e. tickFormat={(x) => {}}.

yAxis.domain[number, number]

Manually specify the range of data the chart will include, given as an array of the minimum and maximum expected values. This will override the default domain calculation which works out the minimum and maximum values from the supplied data. If you pass a minimum or maximum value that is more or less than the minimum or maximum value in the data, the chart will still include the minimum or maximum value from the data.

xAxis.orientation"top" | "bottom"

Set the position of the x-axis to the top or bottom of the chart.

top
xAxis.fixTickLabelOverlapboolean

Dynamically adjust how many ticks show to prevent collision of ticks.

xAxis.axisLabelstring

Provides a label for the x-axis.

xAxis.axisLabelPaddingnumber

Provide offset padding to the axis label from the x-axis line.

xAxis.tickCountnumber

Define approximately how many ticks to show on the x-axis. Prioritizes returning β€œnice” values and evenly spaced ticks over an exact number of ticks.

xAxis.tickFormatany[] | ((tick: any, index: number, ticks: any[]) => string | number) | undefined

Specify how tick values should be formatted. This is likely to be function that takes a value and returns a formatted string, i.e. tickFormat={(x) => {}}.

xAxis.tickPaddingnumber

Specify how many pixels apart the ticks should be spaced..

xAxis.tickAnglenumber

Specify an angle that the ticks should be rotated to.

0
xAxis.textAnchor"start" | "middle" | "end" | "inherit"

Specify the point within the text that should align with the x-coordinate of the label’s position.

xAxis.domain[number, number]

Manually specify the range of data the chart will include, given as an array of the minimum and maximum expected values. Note you should only attempt to apply this property if your independent domain is numeric.

xAxis.offsetYnumber

Manually specify how far from the edge of its calculated position an axis should be offset in the y direction.

chart.domainPaddingForAxes<PaddingType>

Specify a number of pixels of padding to add to the beginning or end of a domain. This prop is useful for explicitly spacing data elements farther from the beginning or end of a domain to prevent axis crowding.

https://formidable.com/open-source/victory/docs/common-props#domainpaddingΒ 

chart.paddingPaddingProps

Amount of padding in number of pixels between the edge of the chart and any rendered child components

https://formidable.com/open-source/victory/docs/common-props#paddingΒ 

tooltip.showTooltipsboolean

Should the tooltip be shown on hover?

true
tooltip.labelFormatstring[] | number[] | ((data: any) => string | number | string[] | number[] | null) | undefined

Specify how labels values should be formatted. This is likely to be function that takes a value and returns a formatted string, i.e. ({ datum }) => {}.

linegroup.colorScaleColorScalePropType

An array of CSS colours, which are assigned by index. Note that colours will repeat when there are more children than colours.

linegroup.placementModifiernumber

The labels in the tooltip are positioned with a const to handle their top offset. The more group items you have on your chart, the lower this number should be (i.e. 6 items would be around 2.3, rather than 2.8).

2.8
linegroup.customFlyoutElement

Provide a custom flyout to be rendered on hover.

line.interpolationInterpolationPropType

Presentation of the area line.

linear
line.showCursorLineboolean

If true, a cursor line will be shown on hover.

line.cursorLineColourstring

Supply an override for the default colour of the cursor line.

line.strokeColourstring

Supply an override for the default stroke colour of the area.

line.customFlyoutElement

Provide a custom flyout to be rendered on hover.

Last updated on