Enable Dark Mode!
how-to-add-charts-in-react-using-chart-js-recharts-and-echarts.jpg
By: Alan Joy

How to Add Charts in React Using Chart.js, Recharts, & ECharts

Technical

Charts are essential for visualizing data in web applications, and React, being a popular front-end library, has several excellent options for integrating charts. In this blog post, we’ll explore how to add charts in React using the react-chartjs-2 library, which is a popular wrapper for Chart.js. We'll also explore other notable charting libraries like Recharts and ECharts.

Getting Started with Chart.js

Step 1: Setting Up Your React Project

First, let's create a new React project:
npx create-react-app react-charts-demo
cd react-charts-demo

Step 2: Installing react-chartjs-2 and chart.js

Next, we need to install react-chartjs-2 and chart.js:
npm install react-chartjs-2 chart.js

Step 3: Creating a Chart Component

Now, let's create a new component for our chart. We'll begin by creating a basic bar chart.
Create a new file BarChart.js in the src folder and add the following code:
// src/BarChart.js
import React from 'react';
import { Bar } from 'react-chartjs-2';
import { Chart as ChartJS, CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend } from 'chart.js';
ChartJS.register(CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend);
const BarChart = () => {
  const data = {
    labels: ['January', 'February', 'March', 'April', 'May', 'June'],
    datasets: [
      {
        label: 'Monthly Sales',
        data: [30, 20, 50, 60, 70, 90],
        backgroundColor: 'rgba(75, 192, 192, 0.2)',
        borderColor: 'rgba(75, 192, 192, 1)',
        borderWidth: 1,
      },
    ],
  };
  const options = {
    responsive: true,
    plugins: {
      legend: {
        position: 'top',
      },
      title: {
        display: true,
        text: 'Monthly Sales Chart',
      },
    },
  };
  return <Bar data={data} options={options} />;
};
export default BarChart;

Step 4: Using the Chart Component

Now, let's use our BarChart component in the App.js file.
Update src/App.js with the following code:
// src/App.js
import React from 'react';
import './App.css';
import BarChart from './BarChart';
function App() {
  return (
    <div className="App">
      <header className="App-header">
        <h1>React Charts Demo</h1>
        <BarChart />
      </header>
    </div>
  );
}
export default App;

Step 5: Running the Application

Now, run your application using:
npm start
You should see a bar chart displaying monthly sales data.

Exploring Other Chart Packages

While react-chartjs-2 is a powerful and popular option, there are several other charting libraries available for React that you might want to consider. Let's explore two other popular options: Recharts and ECharts.

Recharts

Recharts is a modular charting library that leverages React components and D3, offering high customizability and ease of use.

Step 1: Installing Recharts

You can install Recharts via npm:
npm install recharts

Step 2: Creating a Recharts Component

Create a new file RechartsLineChart.js in the src folder:
// src/RechartsLineChart.js
import React from 'react';
import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';
const data = [
  { name: 'January', sales: 30 },
  { name: 'February', sales: 20 },
  { name: 'March', sales: 50 },
  { name: 'April', sales: 60 },
  { name: 'May', sales: 70 },
  { name: 'June', sales: 90 },
];
const RechartsLineChart = () => (
  <ResponsiveContainer width="100%" height={400}>
    <LineChart data={data} margin={{ top: 5, right: 30, left: 20, bottom: 5 }}>
      <CartesianGrid strokeDasharray="3 3" />
      <XAxis dataKey="name" />
      <YAxis />
      <Tooltip />
      <Legend />
      <Line type="monotone" dataKey="sales" stroke="#8884d8" />
    </LineChart>
  </ResponsiveContainer>
);
export default RechartsLineChart;

Step 3: Using the Recharts Component

Update src/App.js to include the RechartsLineChart component:
// src/App.js
import React from 'react';
import './App.css';
import BarChart from './BarChart';
import RechartsLineChart from './RechartsLineChart';
function App() {
  return (
    <div className="App">
      <header className="App-header">
        <h1>React Charts Demo</h1>
        <BarChart />
        <RechartsLineChart />
      </header>
    </div>
  );
}
export default App;

ECharts

ECharts is a robust, highly customizable charting library that supports a wide range of chart types. It is designed for large datasets and offers great performance.

Step 1: Installing ECharts

You can install ECharts and the React wrapper echarts-for-react via npm:
npm install echarts echarts-for-react

Step 2: Creating an ECharts Component

Create a new file EChartsPieChart.js in the src folder:
// src/EChartsPieChart.js
import React from 'react';
import ReactECharts from 'echarts-for-react';
const EChartsPieChart = () => {
  const option = {
    title: {
      text: 'Monthly Sales Pie Chart',
      left: 'center',
    },
    tooltip: {
      trigger: 'item',
    },
    legend: {
      orient: 'vertical',
      left: 'left',
    },
    series: [
      {
        name: 'Sales',
        type: 'pie',
        radius: '50%',
        data: [
          { value: 30, name: 'January' },
          { value: 20, name: 'February' },
          { value: 50, name: 'March' },
          { value: 60, name: 'April' },
          { value: 70, name: 'May' },
          { value: 90, name: 'June' },
        ],
        emphasis: {
          itemStyle: {
            shadowBlur: 10,
            shadowOffsetX: 0,
            shadowColor: 'rgba(0, 0, 0, 0.5)',
          },
        },
      },
    ],
  };
  return <ReactECharts option={option} style={{ height: '400px', width: '100%' }} />;
};
export default EChartsPieChart;

Step 3: Using the ECharts Component

Update src/App.js to include the EChartsPieChart component:
// src/App.js
import React from 'react';
import './App.css';
import BarChart from './BarChart';
import RechartsLineChart from './RechartsLineChart';
import EChartsPieChart from './EChartsPieChart';
function App() {
  return (
    <div className="App">
      <header className="App-header">
        <h1>React Charts Demo</h1>
        <BarChart />
        <RechartsLineChart />
        <EChartsPieChart />
      </header>
    </div>
  );
}
export default App;

Conclusion

Integrating charts in a React application is straightforward with libraries like Chartjs.js, Recharts, and ECharts. Each library has its strengths and can be chosen based on your specific needs and preferences. By following the steps outlined in this guide, you can quickly add dynamic and interactive charts to your React projects.
To read more about A Comprehensive Guide to Data Visualization with Chart.js, refer to our blog A Comprehensive Guide to Data Visualization with Chart.js.


If you need any assistance in odoo, we are online, please chat with us.



0
Comments



Leave a comment



whatsapp_icon
location

Calicut

Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635

location

Kochi

Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.

location

Bangalore

Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message