如果您使用 ReactJS 并希望通过图表将数据带入生活,Recharts 提供了一种轻松创建令人惊叹的可视化效果的好方法。在本指南中,我们将使用 Recharts 和 Fakestore API 来获取产品数据并以条形图和饼图形式显示。
您还可以查看 github 存储库和现场演示。让我们开始吧!
首先,让我们使用 Vite 创建一个新的 React 应用。
npm create vite@latest
按照提示操作:
移动到项目文件夹,安装依赖项,然后启动服务器:
cd charts npm install npm run dev
项目运行后,让我们创建两个组件:一个用于产品价格条形图,另一个用于产品类别饼图。
在此组件中,我们将从 API 获取产品数据并使用条形图将其可视化。
使用以下代码在 src/components/ProductChart.jsx 中创建文件:
// src/components/ProductChart.jsx import React from 'react'; import axios from 'axios'; import { useState, useEffect } from 'react'; import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; export default function ProductChart() { const [products, setProducts] = useState([]); const fetchData = async () => { try { const response = await axios.get('https://fakestoreapi.com/products'); setProducts(response.data); } catch (err) { console.log(err); } }; useEffect(() => { fetchData(); }, []); // Prepare data for chart const chartData = products.map(item => ({ name: item.id, price: item.price, })); return ( <> <div className='product'> <h3 className='product-heading'>PRODUCT PRICE BAR CHART</h3> <ResponsiveContainer width='95%' height={450}> <BarChart data={chartData} margin={{ top: 5, right: 30, left: 20, bottom: 20, }} > <CartesianGrid strokeDasharray="3 3" /> <XAxis dataKey="name" label={{ value: "Product ID", position: "bottom", offset: -5 }} /> <YAxis label={{ value: "Price", angle: -90, position: "insideLeft", offset: -10 }} /> <Tooltip /> <Bar dataKey="price" fill="#eca1ac" /> </BarChart> </ResponsiveContainer> </div> </> ); }
在此组件中,我们将获取产品数据,计算每个类别中的产品数量,并使用饼图将它们可视化。
使用以下代码在 src/components/CategoryChart.jsx 中创建文件:
npm create vite@latest
要查看正在运行的图表,您需要在 App.js 中渲染这些组件。
更新 src/App.js 如下:
cd charts npm install npm run dev
完成此操作后,您应该在屏幕上看到条形图和饼图!
恭喜!您已成功使用 Recharts 在 React 应用程序中创建动态且响应式的数据可视化。我们涵盖了:
Recharts 使构建交互式可视化变得简单且可定制。尝试其他图表类型和数据源,以创建更具吸引力的可视化效果!
以上是掌握 Recharts:在 ReactJS 中创建图表的综合指南的详细内容。更多信息请关注PHP中文网其他相关文章!