news 2026/4/23 8:17:20

react中recharts使用的示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
react中recharts使用的示例

目录

使用场景

如何使用


项目中安装recharts

npm install recharts

示例代码

import React, { FC } from 'react' // 导入recharts图表库的相关组件 import { PieChart, Pie, Cell, Tooltip, ResponsiveContainer } from 'recharts' // 导入统计颜色常量 import { STAT_COLORS } from '../../../constant' // 定义饼图的示例数据 const data01 = [ { name: 'Group A', value: 400 }, { name: 'Group B', value: 300 }, { name: 'Group C', value: 300 }, { name: 'Group D', value: 200 }, { name: 'Group E', value: 278 }, { name: 'Group F', value: 189 }, ] // 饼图演示组件 const PieDemo: FC = () => { return ( // 容器div,设置宽度和高度 <div style={{ width: '300px', height: '400px' }}> {/* 响应式容器,使图表能够自适应容器大小 */} <ResponsiveContainer width="100%" height="100%"> {/* 饼图组件 */} <PieChart> {/* 饼图数据配置 */} <Pie dataKey="value" // 指定数据中用于计算扇形大小的字段 data={data01} // 饼图的数据源 cx="50%" // x 轴的偏移,居中显示 cy="50%" // y 轴的偏移,居中显示 outerRadius={50} // 饼图的外半径 fill="#8884d8" // 饼图的默认填充色 label={i => `${i.name}: ${i.value}`} // 设置标签格式,显示名称和值 > {/* 为每个扇形设置不同的颜色 */} {data01.map((i, index) => { return <Cell key={index} fill={STAT_COLORS[index]} /> // 使用预定义的颜色数组 })} </Pie> {/* 鼠标悬停提示框 */} <Tooltip /> </PieChart> </ResponsiveContainer> </div> ) } export default PieDemo

代码解读

代码结构和用法
1. 导入依赖

import { PieChart, Pie, Cell, Tooltip, ResponsiveContainer } from 'recharts' import { STAT_COLORS } from '../../../constant'

导入 recharts 库的饼图相关组件
◦ 导入项目中定义的统计颜色常量

2.数据定义

const data01 = [ { name: 'Group A', value: 400 }, { name: 'Group B', value: 300 }, { name: 'Group C', value: 300 }, { name: 'Group D', value: 200 }, { name: 'Group E', value: 278 }, { name: 'Group F', value: 189 }, ]

3.组件渲染

<div style={{ width: '300px', height: '400px' }}> <ResponsiveContainer width="100%" height="100%"> <PieChart> <Pie ...> {data01.map((i, index) => { return <Cell key={index} fill={STAT_COLORS[index]} /> })} </Pie> <Tooltip /> </PieChart> </ResponsiveContainer> </div>

使用 ResponsiveContainer 确保图表自适应容器大小
◦ PieChart 是饼图的主容器
◦ Pie 定义饼图的配置,如数据源、半径、标签等
◦ Cell 为每个扇形设置不同颜色
◦ Tooltip 提供鼠标悬停时的提示信息

组件特点
1. 响应式设计:使用 ResponsiveContainer 使饼图能够自适应容器大小
2. 自定义颜色:通过 Cell 组件为每个扇形设置不同的颜色
3. 交互功能:通过 Tooltip 提供鼠标悬停时的数据提示
4. 标签显示:饼图扇形上显示名称和值的标签

使用场景

这个组件主要用于:

  • 问卷统计页面的图表展示
  • 数据分布的可视化表示
  • 演示饼图功能的示例组件

如何使用

在其他组件中可以这样引入使用:

import PieDemo from './PieDemo' // 在JSX中 <PieDemo />

样式设置
• 容器大小为 300px 宽度和 400px 高度
• 饼图居中显示(cx="50%",cy="50%")
• 外半径为 50 像素
• 标签格式为 "名称: 值"

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 5:42:18

HDI多层板PCB生产流程对比传统工艺:优势与挑战

HDI多层板 vs 传统PCB&#xff1a;一场关于密度、精度与性能的制造革命你有没有想过&#xff0c;为什么现在的智能手机越来越薄&#xff0c;功能却越来越强&#xff1f;为什么一块比指甲盖还小的可穿戴设备&#xff0c;能集成心率监测、蓝牙通信、加速度计甚至GPS&#xff1f;答…

作者头像 李华
网站建设 2026/4/18 2:30:59

2025-12-24 全国各地响应最快的 BT Tracker 服务器(联通版)

数据来源&#xff1a;https://bt.me88.top 序号Tracker 服务器地域网络响应(毫秒)1http://60.249.37.20:80/announce广东肇庆联通292http://211.75.205.188:6969/announce广西柳州联通353udp://152.53.152.105:54123/announce北京联通1284http://193.31.26.113:6969/announce北…

作者头像 李华
网站建设 2026/4/17 3:39:06

树莓派4b安装系统后如何配置Nginx服务?新手教程

从零开始&#xff1a;在树莓派4B上搭建Nginx Web服务器&#xff08;新手也能懂&#xff09;你刚拿到树莓派4B&#xff0c;刷好了系统&#xff0c;连上了网络——接下来想让它干点“正事”&#xff1f;比如&#xff0c;把它变成一个能访问的网页服务器&#xff1f;别急&#xff…

作者头像 李华
网站建设 2026/4/10 21:51:27

结合GPT-4 Turbo还是本地模型?成本效益对比分析

结合GPT-4 Turbo还是本地模型&#xff1f;成本效益对比分析 在企业加速推进智能化办公的今天&#xff0c;一个看似简单却影响深远的问题浮现出来&#xff1a;当我们需要让AI读懂公司内部文档、回答员工提问、生成报告摘要时&#xff0c;到底该依赖像GPT-4 Turbo这样的云端大模…

作者头像 李华
网站建设 2026/4/19 0:20:20

能否替代传统CRM?Anything-LLM在客户管理中的探索

能否替代传统CRM&#xff1f;Anything-LLM在客户管理中的探索 在客户服务一线摸爬滚打过的人都知道&#xff0c;最怕的不是客户难缠&#xff0c;而是翻遍系统也找不到那句“他上次说可以接受延期”的关键承诺。销售总监问起某位老客户的合作历史时&#xff0c;你却要花半小时拼…

作者头像 李华
网站建设 2026/4/19 21:47:51

Altium Designer PCB设计:线宽与载流能力匹配新手教程

Altium Designer实战指南&#xff1a;如何科学设计大电流PCB走线&#xff1f; 你有没有遇到过这样的情况——电路原理图没问题&#xff0c;元器件选型也没错&#xff0c;可板子一上电&#xff0c;电源走线“啪”地冒烟烧断&#xff1f;更离谱的是&#xff0c;问题出在一根看似…

作者头像 李华