news 2026/5/16 3:45:36

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/11 16:50:08

如何训练专属Embedding模型提升检索质量?

如何训练专属Embedding模型提升检索质量&#xff1f; 在构建智能问答系统时&#xff0c;你是否遇到过这样的情况&#xff1a;用户问“CRM工单怎么升级&#xff1f;”&#xff0c;系统却返回了“客户满意度调查流程”&#xff1b;或者提问“EHR系统登录失败怎么办”&#xff0c;…

作者头像 李华
网站建设 2026/5/10 18:35:48

新手必看:Vivado固化程序烧写硬件环境搭建

从零开始搞定FPGA程序固化&#xff1a;Vivado烧写实战全解析 你有没有遇到过这样的情况&#xff1f; 在Vivado里辛辛苦苦写完代码、综合实现、生成比特流&#xff0c;用JTAG下载到FPGA上功能一切正常。可一拔线、一断电——再上电&#xff0c;板子“瘫了”&#xff1f;LED不闪…

作者头像 李华
网站建设 2026/5/11 17:54:33

客户成功经理的得力助手:快速响应客户疑问

客户成功经理的得力助手&#xff1a;快速响应客户疑问 在客户成功团队的日常工作中&#xff0c;一个看似简单的问题却常常耗费大量时间&#xff1a;“我们上次是怎么给客户配置单点登录的&#xff1f;”“这个功能的 SLA 到底包含哪些场景&#xff1f;”面对不断迭代的产品文档…

作者头像 李华
网站建设 2026/5/10 16:40:11

高频段去耦电容阻抗特性:系统学习与应用

高频去耦电容的真相&#xff1a;为什么100nF比10μF更“能打”&#xff1f;你有没有遇到过这种情况——系统跑着跑着就复位&#xff0c;示波器一抓电源纹波&#xff0c;发现尖峰蹭蹭往上冲&#xff1f;换了更大容值的电容也没用&#xff0c;甚至更糟&#xff1f;别急&#xff0…

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

如何设置告警机制应对Anything-LLM性能瓶颈?

如何设置告警机制应对 Anything-LLM 性能瓶颈&#xff1f; 在企业级 AI 应用日益普及的今天&#xff0c;大语言模型&#xff08;LLM&#xff09;平台的稳定性已不再只是技术团队的内部议题&#xff0c;而是直接影响用户体验、业务连续性和数据安全的核心要素。Anything-LLM 作为…

作者头像 李华
网站建设 2026/5/11 10:18:27

PCB封装在高速信号传输中的优化策略深度剖析

高速信号时代&#xff0c;PCB封装如何成为性能瓶颈的“破局者”&#xff1f;在5G基站满负荷运行、AI训练集群昼夜不息、自动驾驶汽车实时处理海量传感器数据的今天&#xff0c;我们早已进入一个以高速信号传输为基石的技术纪元。主流接口如PCIe 6.0&#xff08;112 Gbps PAM4&a…

作者头像 李华