Bar chart which can display multiple data series, stacked or side by side. Also supports both vertical and horizontal layout, with negative values descending below the x axis (or y axis if using horizontal layout).
The bar item component can be customized to render any valid SVG element, it will receive current bar style, data and event handlers, the storybook offers an example.
The responsive alternative of this component is ResponsiveBar
.
This component is available in the @nivo/api
,
see sample
or try it using the API client.
See the dedicated guide on how to setup
legends for this component.
However it requires an extra property for each legend configuration you pass to
legends
property: dataFrom
, it defines how to compute
legend's data and accept indexes
or keys
.
indexes
is suitable for simple bar chart with a single data serie
while keys
may be used if you have several ones (groups).
Chart data.
'id'
Key to use to index the data.
'value'
]Keys to use to determine each serie.
'stacked'
How to group bars.
'vertical'
How to display bars.
value scale configuration.
index scale configuration.
false
Reverse bars, starts on top instead of bottom for vertical layout and right instead of left for horizontal one.
'auto'
Minimum value.
'auto'
Maximum value.
Optional formatter for values.
0.1
Padding between each bar (ratio).
0
Padding between grouped/stacked bars.
Chart width.
Chart height.
'Depends on device'
Adjust pixel ratio, useful for HiDPI screens.
Chart margin.
Define style for common elements such as labels, axes…
Define chart's colors.
'id'
Property used to determine node color.
0
Rectangle border radius.
0
Width of bar border.
Method to compute border color.
Define patterns and gradients.
Define rules to apply patterns and gradients
'grid'
, 'axes'
, 'bars'
, 'markers'
, 'legends'
, 'annotations'
]Defines the order of layers.
true
Enable/disable labels.
'formattedValue'
Define how bar labels are computed.
0
Skip label if bar width is lower than provided value, ignored if 0.
0
Skip label if bar height is lower than provided value, ignored if 0.
Defines how to compute label text color.
false
Enable/disable x grid.
Specify values to use for vertical grid lines.
true
Enable/disable y grid.
Specify values to use for horizontal grid lines.
Top axis configuration.
Right axis configuration.
Bottom axis configuration.
Left axis configuration.
true
Enable/disable interactivity.
Tooltip custom component
Showcase custom tooltip component.
onClick handler
Optional chart's legends.
Defines legend anchor relative to chart's viewport.
Legend direction, must be one of 'column', 'row'.
Justify symbol and label.
Legend block x translation.
Legend block y translation.
Legend item width.
Legend item height.
Spacing between each item.
Item symbol size.
Item layout direction.
true
Enable/disable transitions.
'default'
Motion config for react-spring, either a preset or a custom configuration.
Make the root SVG element and each bar item focusable, for keyboard navigation.
Main element role attribute.