ReactNativeSimpleCharts
A simple charts with gradient for react-native
Also you can use multiple charts.
Customize charts, axis, height, scale, steps OY, colors and fill chart section with gradient.
Chart automatically scale OY axis data and make them normal for user, so you didn't see 12.34 or 0.23123 values.
Installation
npm install react-native-simple-charts --save
or yarn add react-native-simple-charts
react-native link react-native-simple-charts
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
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.
Note if you want fill with gradient special chart parts you need to use only one chart with gradient.
[
{
"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