news 2026/4/18 11:57:56

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/17 15:04:34

AI原生应用中上下文窗口的最佳实践指南

AI原生应用中上下文窗口的最佳实践指南 关键词&#xff1a;上下文窗口、大语言模型&#xff08;LLM&#xff09;、token化、窗口溢出、动态管理、应用场景、AI原生应用 摘要&#xff1a;在AI原生应用中&#xff0c;"上下文窗口"是决定大语言模型&#xff08;LLM&…

作者头像 李华
网站建设 2026/4/17 20:08:23

一文说清Altera USB-Blaster驱动安装核心要点

一文讲透Altera USB-Blaster驱动安装&#xff1a;从踩坑到实战在FPGA开发的世界里&#xff0c;你可能写得一手漂亮的Verilog代码&#xff0c;设计出复杂的时序逻辑&#xff0c;仿真波形也完美无瑕。但当你信心满满地点击“Program Device”时&#xff0c;Quartus却弹出一句冰冷…

作者头像 李华
网站建设 2026/4/18 5:06:23

构建自动FAQ系统:基于Anything-LLM的客户服务升级

构建自动FAQ系统&#xff1a;基于Anything-LLM的客户服务升级 在客户咨询量持续攀升、服务响应速度成为核心竞争力的今天&#xff0c;许多企业仍困于传统客服系统的瓶颈——人工回复慢、知识分散难查找、新员工培训周期长、答案口径不统一。一个客户问“如何重置设备密码”&…

作者头像 李华
网站建设 2026/4/18 5:04:46

27、Windows系统管理工具:PsTools使用指南

Windows系统管理工具:PsTools使用指南 在Windows系统管理中,有许多实用的工具可以帮助管理员更高效地完成任务。PsTools就是这样一组强大的工具集,它包含了多个实用工具,如PsLogList、PsPasswd和PsService等,这些工具可以帮助管理员查看事件日志、设置用户密码以及管理系…

作者头像 李华
网站建设 2026/4/18 5:04:33

优雅地解决Kotlin代码风格问题:Spotless与Ktlint的完美结合

在现代的Android开发中,代码风格和一致性是确保项目可读性和维护性的关键。最近,我在自己的项目中引入了Spotless插件来统一代码风格,并使用Ktlint来进行代码格式检查。但在实际操作中,我遇到了一个有趣的问题,关于如何处理Jetpack Compose中的Composable函数命名。这篇博…

作者头像 李华