ReactNativeSimpleCharts
![npm version](http://img.shields.io/npm/dm/react-native-simple-charts.svg?style=flat-square)
Simple charts with gradient for react-native.
- Allow to use multiple charts.
- Use chart with gradient filling.
- Customize charts: axis, height, steps OY and more other things.
- Chart automatically scale OY axis data and round OY values to usual perception.
Installation
Just paste in terminal npm install react-native-simple-charts --save && react-native link react-native-simple-charts && react-native link react-native-svg && react-native link react-native-blur
![](https://github.com/ArtemKosiakevych/ReactNativeSimpleCharts/raw/HEAD/./src/charts.png)
Usage
Simple Charts
import Chart from 'react-native-simple-charts'
...
render() {
let greenChartProps = {
"strokeWidth": 2,
"renderPoints": true,
"strokeColor": 'green',
"pointColor1": 'green',
"pointColor2": 'green',
}
let blueChartProps = {
"strokeWidth": 2,
"renderPoints": true,
"strokeColor": 'blue',
"pointColor1": 'blue',
"pointColor2": 'blue',
}
let data = [
{
"chart": [
{
"x": '1',
"y": 10,
"props": greenChartProps
},
{
"x": '2',
"y": 45,
"props": greenChartProps
},
{
"x": '3',
"y": 10,
"props": greenChartProps
},
{
"x": '4',
"y": 55,
"props": greenChartProps
},
{
"x": '5',
"y": 20,
"props": greenChartProps
},
{
"x": '6',
"y": 65,
"props": greenChartProps
},
],
},
{
"chart": [
{
"x": '1',
"y": 89,
"props": blueChartProps
},
{
"x": '2',
"y": 67,
"props": blueChartProps
},
{
"x": '3',
"y": 55,
"props": blueChartProps
},
{
"x": '4',
"y": 23,
"props": blueChartProps
},
{
"x": '5',
"y": 44,
"props": blueChartProps
},
{
"x": '6',
"y": 55,
"props": blueChartProps
},
],
}
]
return (
<Chart
data={data}
stepsOY={5}
/>
);
}
Gradient Chart
Note if you want to use chart with gradient filling it should be only one.
import Chart from 'react-native-simple-charts'
...
render() {
let greenChartProps = {
"strokeWidth": 2,
"renderPoints": true,
"strokeColor": 'green',
"pointColor1": 'green',
"pointColor2": 'green',
}
let data = [
{
"chart": [
{
"x": '1',
"y": 10,
"props": greenChartProps
},
{
"x": '2',
"y": 45,
"props": {
...greenChartProps,
fillGradient: true,
gradientEndColor: 'green',
gradientStartColor: 'yellow'
}
},
{
"x": '3',
"y": 10,
"props": {
...greenChartProps,
fillGradient: true,
gradientEndColor: 'green',
gradientStartColor: 'yellow'
}
},
{
"x": '4',
"y": 55,
"props": greenChartProps
},
{
"x": '5',
"y": 20,
"props": greenChartProps
},
{
"x": '6',
"y": 65,
"props": greenChartProps
},
],
}
]
return (
<Chart
data={data}
stepsOY={5}
axisTextColorActive={'red'}
activeAxisXTextArray={['2', '3', '4']}
/>
);
}
Props
data: React.PropTypes.array.isRequired,
height: React.PropTypes.number,
width: React.PropTypes.number,
backgroundColor: React.PropTypes.any,
gradientOpacityStart: React.PropTypes.string,
gradientOpacityEnd: React.PropTypes.string,
axisTextColor: React.PropTypes.any,
axisTextOpacity: React.PropTypes.number,
activeAxisXTextArray: React.PropTypes.array,
axisTextColorActive: React.PropTypes.any,
hideXAxe: React.PropTypes.bool,
hideYAxe: React.PropTypes.bool,
axisStrokeWidth: React.PropTypes.number,
axisColor: React.PropTypes.any,
axisOpacity: React.PropTypes.number,
pointRadius: React.PropTypes.number,
axisLinesColor: React.PropTypes.string,
axisLinesOpacity: React.PropTypes.number,
axisLinesWidth: React.PropTypes.number,
renderAxisXSectors: React.PropTypes.bool,
axisXSectorsColor: React.PropTypes.string,
axisXSectorsOpacity: React.PropTypes.number,
renderAxisXLines: React.PropTypes.bool,
renderAxisYLines: React.PropTypes.bool,
leftPanelBG: React.PropTypes.any,
renderBlur: React.PropTypes.bool,
blurProps: React.PropTypes.any,
leftPanelWidth: React.PropTypes.number,
stepsOY: React.PropTypes.number,
scaleXAxis: React.PropTypes.number,
maxYValue: React.PropTypes.number
## Default Props
height: 150,
backgroundColor: 'white',
stepsOY: 4,
axisTextColor: 'black',
axisTextOpacity: 1,
axisColor: 'black',
axisOpacity: 1,
axisLinesOpacity: 1,
axisLinesWidth: 1,
axisStrokeWidth: 2,
axisLinesColor: 'black',
scaleXAxis: 5.5,
renderAxisXLines: true,
renderAxisYLines: true,
leftPanelWidth: 50,
leftPanelBG: 'white',
renderBlur: true,
gradientOpacityStart: '0.0',
gradientOpacityEnd: '0.55'
data
An array of points. This should be provided with an array of objects.
[
{
"chart": [
{
"x": '1',
"y": 10,
"props": {
"strokeWidth": 2,
"strokeColor": 'green',
"renderPoints": true,
"pointColor1": 'green',
"pointColor2": 'green',
"fillGradient": false,
"gradientStartColor": 'green',
"gradientEndColor": 'green',
}
},
...
]
},
...
]
Questions or suggestions?
Feel free to open an issue