We can add charts easily to a React app with Recharts.
In this article, we’ll look at how to use it.
Scatter Chart
We can add a scatter chart with the ScatterChart component.
For example, we can write:
import React from "react";
import {
ScatterChart,
Scatter,
XAxis,
YAxis,
CartesianGrid,
Tooltip
} from "recharts";
const data = [
{ x: 100, y: 200, z: 200 },
{ x: 120, y: 100, z: 260 },
{ x: 170, y: 300, z: 400 }
];
export default function App() {
return (
<div className="App">
<ScatterChart
width={400}
height={400}
margin={{
top: 20,
right: 20,
bottom: 20,
left: 20
}}
>
<CartesianGrid />
<XAxis type="number" dataKey="x" name="stature" unit="cm" />
<YAxis type="number" dataKey="y" name="weight" unit="kg" />
<Tooltip cursor={{ strokeDasharray: "3 3" }} />
<Scatter name="A school" data={data} fill="#8884d8" />
</ScatterChart>
</div>
);
}
We nest the components of our chart inside the ScatterChart component.
width and height has the dimensions.
margin has the margins of the chart.
CartesianGrid has the grid in the background.
XAxis has the x-axis with the labels.
type sets the type of the x-axis.
dataKey has the property name with the values we want to display as labels.
unit has the unit we want to display at the end of the label.
Tooltip has the tooltip.
Scatter has the dots we want to display.
data has the x and y coordinates of the dots.
fill has the dot’s color.
Pie Chart
We can add a pie chart with the PieChart component.
For example, we can write:
import React from "react";
import { PieChart, Pie, Tooltip } from "recharts";
const data = [
{ name: "Group A", value: 400 },
{ name: "Group B", value: 300 },
{ name: "Group C", value: 300 }
];
export default function App() {
return (
<div className="App">
<PieChart width={400} height={400}>
<Pie
dataKey="value"
isAnimationActive={false}
data={data}
cx={200}
cy={200}
outerRadius={80}
fill="#8884d8"
label
/>
<Tooltip />
</PieChart>
</div>
);
}
to add our pie chart.
The Pie component defines the slices.
data has the data.
dataKey is the property name with the value for the slices.
label adds the labels.
fill has the fill color for the slices.
cx and cy circle’s length and width.
We can add a pie chart with 2 levels:
For example, we can write:
import React from "react";
import { PieChart, Pie, Tooltip } from "recharts";
const data = [
{ name: "Group A", value: 400 },
{ name: "Group B", value: 300 },
{ name: "Group C", value: 300 }
];
const data2 = [
{ name: "A1", value: 100 },
{ name: "A2", value: 300 },
{ name: "B1", value: 100 }
];
export default function App() {
return (
<div className="App">
<PieChart width={400} height={400}>
<Pie
data={data}
dataKey="value"
cx={200}
cy={200}
outerRadius={60}
fill="#8884d8"
/>
<Pie
data={data2}
dataKey="value"
cx={200}
cy={200}
innerRadius={70}
outerRadius={90}
fill="#82ca9d"
label
/>
</PieChart>
</div>
);
}
We set the outerRadius to the radius of the circle.
innerRadius and outerRadius together makes it a ring.
outerRadius is subtracted by the innerRadius .
Conclusion
We can add pie charts and scatter charts easily with Recharts.