react recharts饼图 及配置项

  • <Pie>:指定饼图的数据和样式。

    • data:设置图表使用的数据数组。
    • dataKey:指定用于饼图切片面积计算的数据字段。
    • nameKey:指定用于显示在图例和提示框中的数据字段。
    • cxcy:设置饼图中心的位置。
    • outerRadius:设置饼图的外半径。
    • fill:设置饼图的颜色。
    • label:设置是否显示切片标签。
  • <Cell>:为每个切片设置自定义颜色。可以根据需要为每个数据项选择不同的颜色。

  • <Legend>:设置图例的样式和位置。

  • <Tooltip>:设置鼠标悬停时显示的提示框。

复制代码
import React from 'react';
import { PieChart, Pie, Cell, Legend, Tooltip } from 'recharts';

const data = [
  { name: 'A', value: 400 },
  { name: 'B', value: 300 },
  { name: 'C', value: 200 },
  { name: 'D', value: 100 },
];

const colors = ['#0088FE', '#00C49F', '#FFBB28', '#FF8042'];

const PieChartComponent = () => {
  return (
    <PieChart width={400} height={400}>
      <Pie
        data={data}
        dataKey="value"
        nameKey="name"
        cx="50%"
        cy="50%"
        outerRadius={80}
        fill="#8884d8"
        label
      >
        {data.map((entry, index) => (
          <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />
        ))}
      </Pie>
      <Legend verticalAlign="bottom" height={36} />
      <Tooltip />
    </PieChart>
  );
};

export default PieChartComponent;
相关推荐
不会敲代码11 天前
手写 Mini React:从 JSX 到虚拟 DOM 再到 render,搞懂 React 底层原理
前端·javascript·react.js
kyriewen1 天前
你的代码仓库变成“毛线团”了?Monorepo 用 Turborepo 拆成“乐高积木”
前端·javascript·面试
身如柳絮随风扬1 天前
你知道什么是 Ajax 吗?—— 从入门到原理,一篇彻底搞懂
前端·ajax·okhttp
旷世奇才李先生1 天前
Vue3\+TypeScript 2026实战——企业级前端项目架构搭建与性能优化全指南
前端·架构·typescript
Beginner x_u1 天前
前端八股整理(工程化 02)|CommonJS/ESM、Webpack Loader/Plugin 与Vite 对比
前端·webpack·node.js·plugin·loader
openKaka_1 天前
createRoot 到底创建了什么:FiberRootNode 和 HostRootFiber 的初始化过程
前端·javascript·react.js
习明然1 天前
UniApp开发体验感受总结
前端·uni-app
刀法如飞1 天前
Claude Code Skills 推荐:2026年最值得安装的10个AI技能
前端·后端·ai编程
阿豪只会阿巴1 天前
【没事学点啥】TurboBlog轻量级个人博客项目——项目介绍
javascript·python·django·html
Lee川1 天前
面试手写 KeepAlive:React 组件缓存的实现原理
前端·react.js·面试