echarts嵌套环形图+线性渐变

本文介绍了如何在React组件中使用ECharts库创建一个包含两个渐变色填充的饼图,展示不同类型的报警数据。组件还包含一个图片作为图形元素。
摘要由CSDN通过智能技术生成
import * as echarts from 'echarts';
import React, { useEffect } from 'react';

function LianxiEcharts() {
    useEffect(() => {
        var myChart = echarts.init(document.getElementById('main'));
        //指定图标配置
        var option = {
            tooltip: {
              trigger: 'item'
            },
            legend: {
              top: '5%',
              left: 'center'
            },
            series: [
                {
                    name: 'Access From',
                    type: 'pie',
                    radius: ['40%', '70%'],
                    avoidLabelOverlap: false,
                    label: {
                      show: false,
                      position: 'center'
                    },
                    emphasis: {
                      label: {
                        show: true,
                        fontSize: 40,
                        fontWeight: 'bold'
                      }
                    },
                    labelLine: {
                      show: false
                    },
                  
                    data: [
                      { value: 1048, 
                        name: '测速报警', 
                        itemStyle: {
                            color: {
                              type: 'linear',
                              x: 0,
                              y: 0,
                              x2: 0,
                              y2: 1,
                              colorStops: [
                                { offset: 0, color: '#FFDAB9' },  // 渐变起始颜色
                                { offset: 1, color: '#FF6347' }   // 渐变结束颜色
                              ]
                            }
                        }},
                      { value: 735, name: '人员报警',
                      itemStyle: {
                        color: {
                          type: 'linear',
                          x: 0,
                          y: 0,
                          x2: 0,
                          y2: 1,
                          colorStops: [
                            { offset: 0, color: '#44DAB9' },  // 渐变起始颜色
                            { offset: 1, color: '#FF6347' }   // 渐变结束颜色
                          ]
                        }, },},
                      { value: 580, name: '车辆报警' },
                      { value: 580, name: '安防报警' },
                    ]
                  },
              {
                name: 'Access From',
                type: 'pie',
                radius: ['70%', '74%'],
                avoidLabelOverlap: false,
                label: {
                  show: false,
                  position: 'center'
                },
                emphasis: {
                  label: {
                    show: true,
                    fontSize: 40,
                    fontWeight: 'bold'
                  }
                },
                labelLine: {
                  show: false
                },
                itemStyle: { // 设置圆角
                    borderRadius: [0, 0, 20, 20]
                },
                // roseType: 'area', // 添加间距
                data: [
                  { value: 1048, name: '测速报警' },
                  { value: 735, name: '人员报警' },
                  { value: 580, name: '车辆报警' },
                  { value: 580, name: '安防报警' },
                ]
              }
            ],
 graphic: [
                {
                  type: 'image',
                  id: 'logo',
                  left: 'center',
                  top: '40%',
                  z: 10,
                  bounding: 'raw',
                  style: {
                    image: 'https://img0.baidu.com/it/u=389534501,3382403978&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1704560400&t=d8d8fdb545ee00e8f5558279b7e98569',  // 设置图片的 URL,环形图中心空白,引用图片
                    width: 100,
                    height: 100
                  }
                }
              ]
          };
          
        //对实例对象配置
        myChart.setOption(option)


    }, [])

    return (<div id='main' style={{ width: '1200px', height: '800px' }}>

    </div>);
}

export default LianxiEcharts;

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值