react+Echarts 饼图封装组件

本文介绍如何在React中封装Echarts饼图组件,展示样式效果和组件使用方法。
摘要由CSDN通过智能技术生成

react+Echarts 饼图

样式效果
在这里插入图片描述

//编辑器粘贴过来的部分代码,就不校对格式了
frequencyPieData: [
                {
   
                    name: "aa厂商",
                    value: 25.75,
                },
                {
   
                    name: "bb厂商",
                    value: 32.68,
                },
                {
   
                    name: "cc厂商",
                    value: 16.8,
                },
                {
   
                    name: "dd厂商",
                    value: 12.26,
                },
                {
   
                    name: "ee厂商",
                    value: 12.43,
                }
            ],
            pieColor: [
                "#4C83FF",
                "#60daab",
                "#01c9fd",
                "#ff8f5f",
                "#ffea68",
                "#ff7391",
            ]
{
   frequencyPieData != null ?
       <PieChart
             data={
   frequencyPieData}
             idName='problemDistribution'
             height='400px'
             legend={
   frequencyLegend}
             colorData={
   pieColor} /> : ''}

饼图组件

import React from 'react'
import * as echarts from 'echarts';
export default class pieChart extends React.Component {
   
    constructor(props) {
   
        super(props);
        this.state = {
   

        }
    }
    componentDidMount() {
   
        this.initChart()
    }


    initChart() {
   
        const {
    data, doughnutName, doughnutMinAngle = 0, centerData
首先,你需要在 React 项目中安装 echarts: ``` npm install echarts --save ``` 然后,在需要使用饼图组件中引入 echarts,并在组件的生命周期函数 `componentDidMount` 中初始化 echarts 实例,并使用数据渲染饼图。 例如,以下是一个简单的饼图组件的代码: ``` import React, { Component } from 'react'; import echarts from 'echarts'; class PieChart extends Component { componentDidMount() { this.initChart(); } initChart = () => { const { data } = this.props; const chart = echarts.init(this.chartRef); chart.setOption({ tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)', }, series: [ { name: '访问来源', type: 'pie', radius: ['50%', '70%'], avoidLabelOverlap: false, label: { show: false, position: 'center', }, emphasis: { label: { show: true, fontSize: '30', fontWeight: 'bold', }, }, labelLine: { show: false, }, data, }, ], }); }; render() { return ( <div ref={(ref) => { this.chartRef = ref; }} style={{ width: '100%', height: '300px' }} /> ); } } export default PieChart; ``` 在上面的代码中,我们使用 `componentDidMount` 函数初始化 echarts 实例,并使用传递进来的数据渲染饼图。注意,我们在组件的 `render` 函数中返回一个 `div` 元素,这个元素的 `ref` 属性绑定了一个回调函数,用来获取这个元素的引用,以便后续使用 echarts 来渲染图表。 在父组件中,我们可以使用以下代码来渲染这个饼图组件: ``` import React, { Component } from 'react'; import PieChart from './PieChart'; class App extends Component { state = { data: [ { value: 335, name: '直接访问' }, { value: 310, name: '邮件营销' }, { value: 234, name: '联盟广告' }, { value: 135, name: '视频广告' }, { value: 1548, name: '搜索引擎' }, ], }; render() { const { data } = this.state; return ( <div> <PieChart data={data} /> </div> ); } } export default App; ``` 在父组件中,我们传递一个 `data` 属性给饼图组件,这个属性包含了用于渲染饼图的数据。最终,我们可以在页面中看到一个简单的饼图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值