Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/keyvaluesoftwaresystems/react-waterfall-chart
A customizable and responsive svg waterfall chart component
https://github.com/keyvaluesoftwaresystems/react-waterfall-chart
brick-chart bridge-chart bridge-graph chart custom-charts flying-brick flying-bricks-chart mario-chart react react-chart react-charts svg-chart waterfall waterfall-chart waterfall-charts
Last synced: 8 days ago
JSON representation
A customizable and responsive svg waterfall chart component
- Host: GitHub
- URL: https://github.com/keyvaluesoftwaresystems/react-waterfall-chart
- Owner: KeyValueSoftwareSystems
- License: mit
- Created: 2023-04-11T07:58:30.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-17T09:12:58.000Z (10 months ago)
- Last Synced: 2024-11-01T16:48:07.726Z (15 days ago)
- Topics: brick-chart, bridge-chart, bridge-graph, chart, custom-charts, flying-brick, flying-bricks-chart, mario-chart, react, react-chart, react-charts, svg-chart, waterfall, waterfall-chart, waterfall-charts
- Language: TypeScript
- Homepage:
- Size: 3.1 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# React Waterfall Chart
>A customizable & responsive Waterfall chart for React project
Try tweaking a waterfall chart using this codesandbox link here
## Installation
The easiest way to use react-waterfall-chart is to install it from npm and build it into your app with Webpack.
```bash
npm install @keyvaluesystems/react-waterfall-chart
```
You’ll need to install React separately since it isn't included in the package.
## Usage
React Waterfall chart can run in a very basic mode by just providing the `transactions` like given below:
```jsx
import WaterfallChart from '@keyvaluesystems/react-waterfall-chart';
```
The transactions prop is an array of transactions with the following keys:
- `label` - a string to represent each transaction
- `value` - a number that specifies the transaction quantity
An example for transactions array is shown below:
```jsx
const transactionsList = [{
label: 'Quarter 1, 2020',
value: 1000
},{
label: 'Quarter 2, 2020',
value: -500
}];
```You can use `barWidth` prop to specify the width of each bar present in the chart. The given value will be converted to pixels (px) and applied to the chart.
With the help of `showBridgeLines` prop, the line connecting the adjacent bars can be shown/hidden.
`showFinalSummary` can be used to display the summary as the last transaction.
```jsx```
You can specify whether to show or hide the scale lines in the Y axis with the help of `showYAxisScaleLines` prop.
```jsx
```
## PropsProps that can be passed to the component are listed below:
Prop
Description
Default
transactions: object[]
An array of transaction objects to specifying the value and label
[]
barWidth?: number
A number to specify the width of each bars shown in the chart
true
showBridgeLines?: number
A boolean value to specify whether to show the connecting line between adjacent bars
true
showYAxisScaleLines?: boolean
The boolean value to control the display of scale lines in y axis
true
yAxisPixelsPerUnit?: number
The distance between each y axis scale unit. The value specified will be applied as pixels.
0
showFinalSummary?: boolean
The boolean value to control the display of summary section. The summary will be displayed as the last transaction
true
summaryXLabel?: string
The x axis label to be shown for the summary section.
Summary
onChartClick?: function
The callback function which will be triggered on clicking the bars in the waterfall chart. The current bar element will be passed as the prop in the function
undefined
styles?: object
Provides you with a bunch of callback functions to override the default styles.
undefined
## Style Customizations
All the default styles provided by this package are overridable using the `style` prop.
the below code shows all the overridable styles:```jsx
```
- `summaryBar` - overrides the summary bar styles
- `positiveBar` - overrides the positive value bar styles
- `negativeBar` - overrides the negative value bar styles