news 2026/5/30 13:17:01

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/5/28 12:15:43

vivado安装教程系统学习:掌握许可证配置技巧

Vivado安装与许可证配置实战指南&#xff1a;从零搭建高效FPGA开发环境 你是不是也曾经历过这样的场景&#xff1f; 刚下载完Vivado安装包&#xff0c;兴致勃勃点开安装程序&#xff0c;结果卡在“登录Xilinx账户”这一步&#xff1b;或者好不容易装完了软件&#xff0c;一打…

作者头像 李华
网站建设 2026/5/29 1:31:52

LED灯PWM调光频率选择:核心要点解析

LED灯PWM调光频率怎么选&#xff1f;避开频闪、噪声和效率陷阱的实战指南你有没有遇到过这样的情况&#xff1a;晚上把台灯调暗&#xff0c;耳边却传来细微的“滋滋”声&#xff1b;用手机一拍&#xff0c;画面里竟然出现滚动的明暗条纹&#xff1b;长时间在办公室工作&#xf…

作者头像 李华
网站建设 2026/5/28 12:15:39

招投标文件准备:Anything-LLM帮你找模板

招投标文件准备&#xff1a;Anything-LLM帮你找模板 在企业日常运营中&#xff0c;招投标是一项高频且高风险的任务。每一份标书的背后&#xff0c;都是对合规性、专业性和时效性的严苛考验。一个资质条款的遗漏、一处格式的不规范&#xff0c;甚至可能直接导致废标。而现实中&…

作者头像 李华
网站建设 2026/5/28 12:15:41

软件缺陷排查助手:用历史工单训练专属模型

软件缺陷排查助手&#xff1a;用历史工单训练专属模型 在现代软件系统的运维现场&#xff0c;一个常见的场景是&#xff1a;凌晨两点&#xff0c;告警突起&#xff0c;服务不可用。值班工程师盯着日志里一行陌生的错误码&#xff0c;翻遍内部Wiki、Jira工单和Slack聊天记录&…

作者头像 李华
网站建设 2026/5/28 15:20:16

Spring Boot AOP (四)与事务、异常处理交互

博主社群介绍&#xff1a; ① 群内初中生、高中生、本科生、研究生、博士生遍布&#xff0c;可互相学习&#xff0c;交流困惑。 ② 热榜top10的常客也在群里&#xff0c;也有数不清的万粉大佬&#xff0c;可以交流写作技巧&#xff0c;上榜经验&#xff0c;涨粉秘籍。 ③ 群内也…

作者头像 李华
网站建设 2026/5/12 14:54:35

为什么说Anything-LLM是未来知识管理的标准配置?

为什么说 Anything-LLM 是未来知识管理的标准配置&#xff1f; 在企业知识库越积越厚、员工信息过载日益严重的今天&#xff0c;一个新入职的员工要花多久才能搞清楚“年假怎么算”&#xff1f;翻三份PDF、问两个老同事、再确认一遍HR邮件——这还是效率高的情况。而与此同时&a…

作者头像 李华