bpk-component-barchart
Backpack bar chart component.
Installation
npm install bpk-component-barchart --save-dev
Usage
import React from 'react';
import BpkBarchart from 'bpk-component-barchart';
const priceData = [
{
day: 'mon',
price: 240,
},
];
export default () => (
<BpkBarchart
xAxisLabel="Weekday"
yAxislabel="Price (£)"
xScaleDataKey="day"
yScaleDataKey="price"
initialWidth={500}
initialHeight={300}
data={priceData}
/>
);
Props
Property | PropType | Required | Default Value |
---|
data | custom(validates usage of scale keys) | true | - |
xScaleDataKey | string | true | - |
yScaleDataKey | string | true | - |
xAxisLabel | string | true | - |
yAxisLabel | string | true | - |
initialWidth | number | true | - |
initialHeight | number | true | - |
className | string | false | null |
outlierPercentage | number | false | null |
showGridlines | bool | false | false |
xAxisMargin | number | false | 3 |
xAxisTickValue | func | false | identity |
xAxisTickOffset | number | false | 0 |
xAxisTickEvery | number | false | 1 |
yAxisMargin | number | false | 2.625 |
yAxisTickValue | func | false | identity |
yAxisNumTicks | number | false | null |
onBarClick | func | false | null |
onBarHover | func | false | null |
onBarTouch | func | false | null |
getBarLabel | func | false | See prop details |
getBarSelection | func | false | See prop details |
BarComponent | func | false | BpkBarchartBar |
disableDataTable | bool | false | false |
Prop Details
data
An array of data points with a value for the x axis and y axis respectively. The keys for the x axis and y axis can be anything you choose. Specify the keys with the props xScaleDataKey
and yScaleDataKey
. For this data the xScaleDataKey
would be day
and the yScaleDataKey
price
.
[
{
"day": "mon",
"price": 240
},
{
"day": "tus",
"price": 340
},
{
"day": "wen",
"price": 300
},
{
"day": "thu",
"price": 340
},
{
"day": "fri",
"price": 353
},
{
"day": "sat",
"price": 290
},
{
"day": "sun",
"price": 380
}
]
xScaleDataKey
The key in each data point that holds the value for the x axis of that data point.
yScaleDataKey
The key in each data point that holds the value for the y axis of that data point.
outlierPercentage
Values that are outlierPercentage
percent above the mean of the whole dataset are considered outliers and rendered cut off instead of at their full height.
onBarClick
const onBarClick = (event, {
point: <Object>, // The `data` array object from the bar clicked
}) => {
...
}
onBarHover
const onBarHover = (event, {
point: <Object>, // The `data` array object from the bar hovered
}) => {
...
}
onBarTouch
const onBarTouch = (event, {
point: <Object>, // The `data` array object from the bar touched
}) => {
...
}
getBarLabel
By default the following function is used:
(point, xScaleDataKey, yScaleDataKey) => {
return `${point[xScaleDataKey]} - ${point[yScaleDataKey]}`;
}
getBarSelection
Must be a function which returns true based on the point
argument:
const getBarSelection = (point) => {
return point.myKnownProperty === 'foo';
}