使用Echarts实现圆环图

实现如图效果:

 首先先在 HTML 中定义有宽度和高度的父容器,图表的大小默认即为该节点的大小

<div class="pieChart" id="pieChart"></div>

const pieChart = echarts.init(document.getElementById('pieChart'));

注:在调用echarts.init()时需保证容器已经有宽度和高度了

请求接口:

$.ajax({
    url: baseUrl+'/api/data-visualization/analysis/statistic/media/source',
    type: 'post',
    data: {
        beginDate: beginDate,
        endDate: currentDate,
        keywords: '',
    },
    success(res) {
        if(res.code === 200){
            // 请求成功调用函数
            initPieChart(res.data)
        }
    },
    error(err) {
        console.log(err);
    }
})

配置项 

const initPieChart = pieChartData => {
    pieChart.setOption({
        tooltip: {
            trigger: 'item',
            className: 'pieTooltip',
            enterable: true,
            formatter: (params) => {
                let strDOM = params.marker.replace('border-radius:10px;', '').replace(/4|10/g, '5')
                let { name, percentage } = params.data
                return `${strDOM} ${name}:${percentage}%`
            }
        },
        legend: {
            orient: 'vertical',
            // 图例位置
            right: 'right',
            top: 'center',
            // 右侧图例宽度
            itemWidth: 10,
            // 右侧图例长度
            itemHeight: 10,
            itemStyle: {
                borderWidth: 0,
            },
            /*  字体样式  */
            textStyle: {
                color: '#fff'
            }
        },

        series: [{
            /* 样式 */
            itemStyle: {
                borderWidth: 1,
                borderColor: '#fff'
            },
            /*  图表名称  */
            name: '',
            /*  类型  */
            type: 'pie',
            /*  圆 大小  内环圆  外圆 */
            radius: ['40%', '70%'],
            /*  数据  */
            data: pieChartData,
            /*  指引线 */
            labelLine: {
                show: false
            },
            /*  提示 */
            label: {
                show: false
            },
            /*  移入样式  */
            emphasis: {
                scale: false,
                itemStyle: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.9)'
                }
            }
        }]
    });
}

### ECharts 实现圆环教程 为了创建一个基本的圆环,可以利用 `option` 对象配置项来设置表的具体样式和数据源。下面是一个简单的例子展示如何通过 JavaScript 使用 ECharts 库绘制圆环。 #### 初始化 ECharts实例并指定容器ID 首先,在HTML页面中定义好放置表的DOM节点,并给它设定唯一的id属性以便后续调用[^1]: ```html <div id="main" style="width: 600px;height:400px;"></div> ``` 接着初始化 echarts 实例对象,并传入该 DOM 节点作为参数: ```javascript var myChart = echarts.init(document.getElementById('main')); ``` #### 配置 option 参数构建圆环 接下来就是最重要的部分——配置 `option` 属性了。对于想要制作的圆环来说,主要关注的是 series 中 type 设置为 'pie' 并且 radius 的取值范围不是默认情况下的 ['0%', '75%'],而是自定义的一个较小内径比例以形成环状效果: ```javascript var option = { title : { text: '某站点用户访问来源', subtext: '纯属虚构', x:'center' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎'] }, series : [ { name: '访问来源', type: 'pie', // 设定形为饼形 radius : ['40%', '60%'],// 定义内外半径大小, 形成圆环 avoidLabelOverlap: false, label: { show: true, position: 'outside' }, emphasis: { label: { show: true, fontSize: '20', fontWeight: 'bold' } }, labelLine: { show: true }, data:[ {value:335, name:'直接访问'}, {value:310, name:'邮件营销'}, {value:234, name:'联盟广告'}, {value:135, name:'视频广告'}, {value:1548, name:'搜索引擎'} ] } ] }; myChart.setOption(option); ``` 上述代码片段展示了完整的 HTML 和 JS 结合的方式去渲染一张带有样式的圆环。其中设置了标题、提示框显示格式以及例位置等内容;最重要的是调整了 pie 表类型的系列列表中的 `radius` 值使得最终呈现出来的是一张具有特定宽度边界的圆形区域而非实心填充的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

•᷄ࡇ•᷅哼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值