We can add charts to our React app easily with the react-chartist library.
In this article, we’ll look at how to add charts easily with the react-chartist library.
Installation
We can install the library by running:
npm install react-chartist --save
We also need the chartist package which it depends on.
This can be installed by running:
npm install chartist --save
Creating Charts
Once we installed the libraries, we can create our own charts with it.
We have to add the CSS by adding:
<link
rel="stylesheet"
href="//cdn.jsdelivr.net/chartist.js/latest/chartist.min.css"
/>
to the head tag in public/index.html .
Then in our component, we can add our graph:
import React from "react";
import ChartistGraph from "react-chartist";
const data = {
labels: [2016, 2017, 2018, 2019, 2020],
series: [[1, 2, 4, 8, 6]]
};
const options = {
high: 10,
low: -10,
axisX: {
labelInterpolationFnc(value, index) {
return index % 2 === 0 ? value : null;
}
}
};
const type = "Bar";
export default function App() {
return (
<div className="App">
<ChartistGraph data={data} options={options} type={type} />
</div>
);
}
data has the chart data.
labels has the x-axis labels.
series has the y-axis values.
options has various options.
high sets the max value to display for the y-axis.
low sets the min value to display for the x-axis.
axisX has the labelInterpolationFnc to set how the x-axis labels are displayed.
value has the x-axis value.
index has the index of the x-axis value in labels .
Whatever returns true when this function is called with is displayed.
Line charts can be created by changing 'Bar' to 'Line' .
Pie Chart
We can add the pie chart by writing:
import React from "react";
import ChartistGraph from "react-chartist";
const data = {
series: [20, 10, 30, 40]
};
const options = {};
const type = "Pie";
export default function App() {
return (
<div className="App">
<ChartistGraph data={data} options={options} type={type} />
</div>
);
}
The series property now has a 1-d array instead of a 2-d one.
And the type is 'Pie' .
We can change a few options to configure our chart.
For example, we can write:
import React from "react";
import ChartistGraph from "react-chartist";
const data = {
series: [20, 10, 30, 40]
};
const options = {
donut: true,
donutWidth: 20,
startAngle: 270,
total: 100
};
const type = "Pie";
export default function App() {
return (
<div className="App">
<ChartistGraph data={data} options={options} type={type} />
</div>
);
}
donut set to true makes the pie chart display as a donut.
donutWidth sets the width of the ring in pixels.
startAngle sets the starting angle for the chart in degrees.
total has the total amount that the series numbers add up to.
Conclusion
We can use react-chartist to create simple charts with lots of flexibility.